gpt4 book ai didi

javascript - 使用 xpath 单击 aria-label 元素

转载 作者:行者123 更新时间:2023-11-30 11:24:20 25 4
gpt4 key购买 nike

我无法使用 Xpath 和 Selenium 单击按钮,在这种情况下,aria-label 具有唯一的日期,这使得它可以完美地区分日历中的其他一些按钮。

This is the HTML code for the button that display the day 5 and the price for that day.


<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”对象没有属性“Click”。

最佳答案

你的 xpath 有几个错误,导致它无效:

  1. 首先,你必须在每个条件之前声明contains:

    "//button[contains(@attribute1, \"content1\") and contains(@attribute2, \"content2\")]"
  2. 您的 xpath 中的 ' 未转义。尝试以下操作:

    "//button[contains(@class,\"CalendarDay__button\") and contains(@aria-label,\"Choose monday, february 5 2018 as your check-in date. It's available.\")]"

希望对您有所帮助。祝你好运!

关于javascript - 使用 xpath 单击 aria-label 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48587662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com