public boolean WaitForPageToLoad(){
final ExpectedCondition<Boolean> pageLoadCondition = new ExpectedCondition<Boolean>() {
public Boolean apply(final WebDriver driver) {
return ((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete");
}
};
final WebDriverWait wait = new WebDriverWait(this.driver, this.defaultTimeoutinSeconds);
final boolean IsPageLoad = wait.until(pageLoadCondition);
if (!IsPageLoad) {
log.logInfo("Page doesn't load after " + this.defaultTimeoutinSeconds + " seconds");
}
return IsPageLoad;
}
上面的代码在 selenium 2.53.1 中工作,但是当我升级到 Selenium 3.1.X 时,上面的代码不兼容。任何人都可以转换上述代码以使其与 selenium 3 兼容。我遇到以下错误
FluentWait 类型中的方法 until(Function) 不适用于参数(新 ExpectedCondition(){})