检查显式等待条件的次数是多少?

时间:2015-01-21 11:50:49

标签: selenium selenium-webdriver

如果是隐式等待,如果WebDriver没有立即找到元素,它会等待指定的时间,如果在指定的时间过去之后找不到元素,它会抛出异常。

意味着在隐式等待的情况下,WebDriver检查元素两次(max)。 1)立即2)(如果没有找到,)在指定时间结束时。

但是在明确等待的情况下,检查条件的频率是多少?

我的意思是,如果它每秒检查条件是否为真/非空或仅两次像隐式等待?

1 个答案:

答案 0 :(得分:2)

默认情况下,它每500毫秒检查一次(即轮询)。 所以从源代码中你可以看到 -

  

public final static long DEFAULT_SLEEP_TIMEOUT = 500;

public WebDriverWait(WebDriver driver, long timeOutInSeconds) {
    this(driver, new SystemClock(), Sleeper.SYSTEM_SLEEPER, timeOutInSeconds, DEFAULT_SLEEP_TIMEOUT);
}

在内部调用 -

protected WebDriverWait(WebDriver driver, Clock clock, Sleeper sleeper, long timeOutInSeconds,
      long sleepTimeOut) {
    super(driver, clock, sleeper);
    withTimeout(timeOutInSeconds, TimeUnit.SECONDS);
    pollingEvery(sleepTimeOut, TimeUnit.MILLISECONDS);
    ignoring(NotFoundException.class);
  }