我正在使用 Selenium WebDriver 和 Java 编写自动化测试,这些测试需要在其中进行大量等待,以确保在采取下一个操作之前已经加载了适当的元素。
我试过这个:
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
它将等待指定的时间间隔,然后如果找不到元素则失败,
和这个:
WebDriverWait wait = new WebDriverWait(driver, 100);
wait.until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver webDriver) {
System.out.println("Searching for the Companies dropdown");
return webDriver.findElement(By.id("ctl00_PageContent_vpccompanies_Input")) != null;
}
});
如果找不到元素,它将无限期挂起,
我想要的是可以搜索该元素几次尝试然后失败并显示错误消息的东西。