我知道就等待DOM
尚未出现的 web 元素而言,最有效的是流畅的等待。所以我的问题是:
有没有办法处理和捕获NoSuchElementException
由于元素不存在而流利等待可能引发的异常或任何异常?
我需要一个布尔方法,无论是否找到元素,它都会给我结果。
这种方法在网络上很流行。
public void waitForElement(WebDriver driver, final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(60, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
});
}
我需要的是,**.ignoring(NoSuchElementException.class);**
不会被忽视。一旦异常被捕获,它将返回 FALSE。另一方面,当找到一个元素时,它将返回 TRUE。