Fluent会在每次轮询DOM之前等待重新加载网页吗?

时间:2017-09-04 08:17:29

标签: selenium

我知道fluentWait会等到一个元素,直到达到定义的持续时间,并且还会以您在实现中提到的频率轮询/搜索DOM。但我不确定它是否每次重新加载页面进行DOM轮询?任何人都可以帮帮我吗?

2 个答案:

答案 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