在升级节点镶边图像后,FluentWait弯下腰了。
我有以下等待条件。
Wait<RemoteWebDriver> wait = new FluentWait<>(driver)
.withTimeout(Duration.ofSeconds(30))
.pollingEvery(Duration.ofMillis(500))
.ignoring(NoSuchElementException.class)
.ignoring(StaleElementReferenceException.class)
.withMessage("TimeoutException is thrown");
wait.until(condition)
我希望每500毫秒至30秒检查一次条件。该代码曾经可以使用,但是最近停止了工作。我正在将硒网格与3.141.59
https://hub.docker.com/r/selenium/node-chrome/tags
未使用合并间隔来检查条件。行为不一致,有时会起作用。
我检查的条件是浏览器URL是否重定向。
public static ExpectedCondition<Boolean> isUrlRedirected(String originalUrl) {
return new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
Boolean b = (Boolean) !driver.getCurrentUrl().equals(originalUrl);
if(logger.isDebugEnabled()) {
logger.debug("Driver url redirects ... "+b);
}
return b;
}
};
}
预期结果是,此操作应始终如一,并且应根据配置的池间隔验证条件。