【问题标题】:Java Selenium Click a certain button on a certain dayJava Selenium 在某一天点击某个按钮
【发布时间】:2019-05-30 12:39:33
【问题描述】:

所以我在某天点击按钮时遇到了问题。我正在为其编写脚本的网站有几个选项。周、月和年。当您按周时,您可以选择一周中的哪一天。周一、周二等。当您按月时,您会在几个月内得到相同的结果。

我的问题是如何实现自动化,所以当我需要选择星期几时,它会检查日期并选择正确的日期。

我对检查日期或单击按钮没有任何问题,我只是不知道如何将两者结合起来。

【问题讨论】:

  • 嗨。欢迎来到 SO。向我们提供您的一些代码,以便我们更轻松地为您提供帮助。

标签: java selenium automation selenium-chromedriver


【解决方案1】:

您必须能够在当前工作日和七个网络元素之一之间进行匹配。网上选择工作日示例https://www.phpro.org/examples/Days-Of-Week-Dropdown.html:

public void selectCorrectWeekday() throws InterruptedException {

    String weekDayCapitalized = weekDay().substring(0, 1).toUpperCase() + weekDay().substring(1);
    driver.get("https://www.phpro.org/examples/Days-Of-Week-Dropdown.html");
    new Select(waitSec(driver, 10).until(ExpectedConditions.elementToBeClickable(By.id("day")))).selectByVisibleText(weekDayCapitalized);
    Thread.sleep(5000);

}

public WebDriverWait waitSec(WebDriver driver, int sec) {return new WebDriverWait(driver, sec);}    
public String weekDay() {return today().getDayOfWeek().name().toString().toLowerCase();}
public LocalDate today() {LocalDate today = LocalDate.now();return today;}

但是,由于 html 源代码,您的方法会有所不同。

【讨论】:

  • 还有一件事。删除位于selectCorrectWeekday() 中的Thread.sleep(5000);。将其替换为更相关的代码,例如验证某些状态。
猜你喜欢
  • 1970-01-01
  • 2013-05-24
  • 2018-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多