java - 如何使用 selenium webdriver 从日历中选择日期

标签 java selenium selenium-webdriver webdriver webdriverwait

我是 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();
    
  • 浏览器快照:

31_07_2019

关于java - 如何使用 selenium webdriver 从日历中选择日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56983403/

相关文章:

selenium - 如何在testng中顺序执行所有方法

css - Selenium XPATH 或 CSS 从 html 表中选择一个带有指定文本的复选框我选择了四个复选框

java - 如何在java中使用正则表达式截断文本

java - 将图像保存在 webcontent 的文件夹内

javascript - Selenium 网络驱动程序 : Scroll to the top using Javascript

java - 同时使用@DataProvider 和@Parameters

java - Function 类型不是通用的;它不能使用参数 <WebDriver, WebElement> 进行参数化

Java - 对结果进行排序

java - 为什么文件传输完成后我的 ListView 条目的内容没有更新?

java - 如何从 Appium 中的推送通知获取 JSON 数据?