我是 Selenium webdriver
的新手。我正在使用 Java
编程语言。
我的问题是我无法调用日历元素并选择其中的日期。
这是链接:
https://www.veltra.com/en/asia/malaysia/kuala_lumpur/a/139387
非常感谢任何帮助。
List<WebElement> allDates=driver.findElements(By.xpath("//table[@class='ui-datepicker-calendar']//td"));
for(WebElement selectDate:allDates)
{
String date=selectDate.getText();
if(date.equalsIgnoreCase("31"))
{
selectDate.click();
break;
}
}
我的计划是,点击“立即预订”按钮后,我想在日历中选择7 月 31 日
。然后日期将显示在文本框中。
最佳答案
要从日历中为第一个项目选择日期 31,您需要为 elementToBeClickable()
引入 WebDriverWait 并且可以使用以下Locator Strategies :
代码块:
WebDriver driver = new ChromeDriver(options); driver.get("https://www.veltra.com/en/asia/malaysia/kuala_lumpur/a/139387"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='hltitle clearfix fclear price_note_wrapper']//following::a[2]"))).click(); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='hltitle clearfix fclear price_note_wrapper']//following::a[starts-with(@id, 'book_now_btn_')][1]//following::table[1]//input[starts-with(@name, 'data')]"))).click(); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//table[@class='ui-datepicker-calendar']//span[text()='31']"))).click();
浏览器快照:
关于java - 如何使用 selenium webdriver 从日历中选择日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56983403/