【发布时间】:2018-02-02 17:10:40
【问题描述】:
我无法使用 Xpath 和 Selenium 单击按钮,在这种情况下,aria-label 具有唯一的日期,可以完美区分日历中的其他按钮。
这是显示第 5 天和第 当天的价格。
<button type="button" class="CalendarDay__button" aria-label="Choose sunday, february 4 2018 as your check-in date. It's available." tabindex="0"><div class="calendar-day"><div class="day">4</div><div class="flybondi font-p fare-price"><span>$728*</span></div></div></button>
<button type="button" class="CalendarDay__button" aria-label="Choose monday, february 5 2018 as your check-in date. It's available." tabindex="0"><div class="calendar-day"><div class="day">5</div><div class="flybondi font-p fare-price"><span>$728*</span></div></div></button>
#假设我要点击2018年2月5日,我试过了
dtd0_button = driver.find_element_by_xpath("//button[contains(@class, 'CalendarDay__button') and (@aria-label, 'Choose monday, February 5 2018 as your check-in date. It's available') ]")
dtd0_button.Click()
这种方法有什么问题,如果我可以点击网页日历中的任何日期,我会收到以下消息“WebElement”对象没有“点击”属性。
【问题讨论】:
-
也许可以尝试使用 chrome 开发工具,在源面板中选择按钮,然后在控制台面板中尝试
monitorEvents($0)以了解事件发生了什么
标签: javascript python-3.x selenium xpath web-scraping