我知道fluentWait会等到一个元素,直到达到定义的持续时间,并且还会以您在实现中提到的频率轮询/搜索DOM。但我不确定它是否每次重新加载页面进行DOM轮询?任何人都可以帮帮我吗?
答案 0 :(得分:2)
流畅的等待不会重新加载DOM。它只会等待特定的时间来满足条件。如果条件没有满足,那么它将再次汇集元素。
答案 1 :(得分:0)
直接回答 No
,FluentWait
在 HTML DOM
的每个池之前没有重新加载网页。< / p>
FluentWait
的文档清楚地将使用详情描述为:
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("foo"));
}
});
其中,
withTimeout
:设置等待评估条件为真的时间。pollingEvery
:设置评估条件的频率。ignoring
:忽略异常/例外因为,关联的方法不会调用网址的加载或当前网址的刷新,因此没有额外重新加载 HTML DOM
。