java - 当日历selenium java上出现2个日期时,如何选择可点击的日期?

标签 java list selenium automation calendar

当我尝试选择 2 月 29 日时,我们正在使用引导日历,然后调试器尝试选择禁用/非 Activity 的 1 月 29 日,然后我得到的响应是不可点击的元素。

有 2 个相同日期的 xpath,我想单击 Activity 日期 xpath。

@FindBy(xpath="//*[contains(@title,'Arrival Date')]")
public WebElement DepartureDateButton;;

@FindBy(xpath="//*[contains(text(),'February')]")
public WebElement selectmonth;; 

@FindBy(xpath="//span[contains(text(),'29')]")

public WebElement selectdate;;  

WaitforElementtobeVisible(selectmonth);
    WaitforElementtobeclickable(selectmonth);
    selectmonth.click();    
    WaitforElementtobeclickable(selectdate);
    selectdate.click(); 

enter image description here

最佳答案

您必须修改 XPath。看看日历。显然,所选月份之外的日期是灰色的。这意味着他们的类(class)必须不同。

您没有发布该元素的 HTML,所以我必须假设,但您应该根据自己的情况采用解决方案

@FindBy(xpath="//span[contains(text(),'29') and contains(@class, 'grayed')]")

关于java - 当日历selenium java上出现2个日期时,如何选择可点击的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59769819/

相关文章:

java - Selenium Webdriver 和 Java。元素在点 (x, y) 处不可点击。其他元素会收到点击

java - Android - 异步网络调用 - 相互依赖的响应

java - 如何在随后打印的质因数之间添加 "x"而在最后打印的质因数之后没有额外的 "x"?

c# - 在列表中查找最接近一小时前的时间戳

Python 解包 kwargs 中的列表值

html - Selenium - 无法选择带有 id 的输入框

java - 如何使用 Selenium Java 在另一个 ul 标签内打印文本

java - 将 double 值与 double 常数进行比较

java - 如何修复按重量对包裹进行排序的循环

c++ - 如何用链表替换 vector C++