【发布时间】:2017-06-05 14:05:06
【问题描述】:
为什么我的等待方法不等到 30 秒?
如果方法找不到元素,我的方法应该在 30 秒后超时,当前返回 true 或 false 没有任何超时,有什么想法吗?
public boolean WaitUntilWebElementIsVisiblePredicate(WebElement element) {
FluentWait<WebElement> wait = new FluentWait<WebElement>(element)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(100, TimeUnit.MILLISECONDS)
.ignoring(NoSuchFieldException.class);
Function<WebElement, Boolean> f = new Function<WebElement, Boolean>() {
@Override
public Boolean apply(WebElement element) {
if (!element.isDisplayed()) {
System.out.println("Method failed: WaitUntilWebElementIsVisiblepPredicate, using locator: " + element.toString());
return false;
}
System.out.println("Element visible, using method: WaitUntilWebElementIsVisiblepPredicate, Locator: " + element.toString());
return true;
}
};
return wait.until(f);
}
【问题讨论】:
标签: java selenium selenium-webdriver webdriver