首页 > 解决方案 > 如何在日历 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(); 

在此处输入图像描述

标签: javalistseleniumautomationcalendar

解决方案


您必须修改 XPath。看看日历。显然,所选月份之外的日期显示为灰色。这意味着他们的班级必须不同。

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

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

推荐阅读