如果是隐式等待,如果WebDriver没有立即找到元素,它会等待指定的时间,如果在指定的时间过去之后找不到元素,它会抛出异常。
意味着在隐式等待的情况下,WebDriver检查元素两次(max)。 1)立即2)(如果没有找到,)在指定时间结束时。
但是在明确等待的情况下,检查条件的频率是多少?
我的意思是,如果它每秒检查条件是否为真/非空或仅两次像隐式等待?
答案 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);
}