java - 如何在日历 selenium java 上存在 2 个日期时选择可点击日期?
问题描述
当我尝试选择 2 月 29 日时,我们正在使用引导日历,然后调试器尝试选择 1 月 29 日,这是禁用/非活动的,然后我得到的响应是不可点击的元素。
同一日期有 2 个 xpath,我想单击活动日期 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();
解决方案
您必须修改 XPath。看看日历。显然,所选月份之外的日期显示为灰色。这意味着他们的班级必须不同。
您没有发布该元素的 HTML,所以我必须假设,但您应该针对自己的情况采用解决方案
@FindBy(xpath="//span[contains(text(),'29') and contains(@class, 'grayed')]")
推荐阅读
- fonts - 用于嵌入式系统的 CJK 字体
- java - 使用 JsonObjectRequest 和 GET 请求发送 JSON 正文
- android - 使用 executor 在 android 中运行下载管理器任务
- python - 如何修改视图以仅向一个分配的用户显示数据?
- java - java.sql.SQLException:字段 'useremail' 没有默认值
- python - 当使用 tkinter 中的复选框使用 for 循环放置在他的窗口中时,有没有办法让它们引用不同的变量?
- javascript - 将图标放在带有文本溢出省略号的两行行之后,而不会中断第 3 行
- django - VSCode Django 虚拟环境包装器
- javascript - 显示隐藏字段的可引导详细信息格式化程序
- swift - 斯威夫特用户界面。自定义绑定值更改时如何通知?