条件 - 单击按钮/ driver.navigate.back()的示例 - 是否包含在时间单位到期时(WebDriverWait的超时)?
实施例: 对于以下声明 - WebDriverWait wait60 = new WebDriverWait(driver,60); wait60.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.locator)));
如果在60秒内没有在网页上加载elementtobeclickable - 我希望执行语句driver.navigate.back()。任何定义这种类型语句的方法(比如在类级别)所以所有wait60.until条件都会在超时时导致相同的定义语句?
答案 0 :(得分:2)
我认为这不包含在WebDriverWait
功能中。我可能会使用try-catch异常处理,当你抓住timeoutException
时,请调用driver.navigate.back()
您可以创建一个方法来执行此操作并随时调用它。
答案 1 :(得分:0)
将它放在这样的try-catch块中:
try{
WebDriverWait wait60 = new WebDriverWait(driver, 60);
wait60.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.locator)));
}catch(Exception e){
System.out.println("Element not found in due time. "+e.getMessage);
driver.navigate().back();
}
如果在适当的时候找不到元素,将抛出TimeoutException,随后将在catch块中处理它。此外,之后浏览器将被导航回来。