使用Selenium写下自定义日历中选择第一个可用日期的功能

问题描述 投票:0回答:1

这是页面的URL:https://cfapp.staticso2.com/1231231123

在我的自动化代码中,我正在尝试编写一个函数,该函数将从自定义日历中选择第一个可用日期。

日期可能不可用,因此我需要继续在日历中切换月份,直到我获得第一个可用日期。

谁能提出建议?

java selenium-webdriver
1个回答
0
投票

在日历中查找所有可用的日期元素。并使用findElements来避免NoElementFound异常。检查元素的计数,如果它大于零,那么你有可用的数据,点击它。否则导航到下个月并再次搜索

// set flag for date found or not
 boolean dateFound = false;
 do{   
    //look for if available date element  
     List<WebElement> availableDates = driver.findElements(By.xpath("//div[@class='week ng-scope']/button[contains(@tabindex,'0')][1]"));
            //if available date is present then click on 1st available date
            if(availableDates.size()>0)
            {
              for(WebElement date : availableDates)
              {
                date.click();
                break;
              }
            }
            // if not available then click on next arrow button
            else
            {
              WebElement next = driver.findElement(By.xpath("//button[@id='NextPeriod']"));
              dateFound = true;
            }
//continue till date is found
}while(dateFound);
© www.soinside.com 2019 - 2024. All rights reserved.