如果显式等待具有默认轮询时间,即 500 毫秒,那么如果条件不满足,为什么它不在第一个 500 毫秒后抛出异常?
显式等待中默认轮询时间的作用是什么?
我认为您在轮询时间和等待时间之间混淆/混淆了。
轮询时间: 是 selenium 尝试在 DOM 中定位元素的重复时间间隔
等待时间: 是它等待尝试定位元素的最长时间,之后它会抛出
timeout exception
在下面的代码中,selenium 在抛出
element
之前尝试定位 timeout exception
40 秒。在这 40 年代,它尝试每 2 秒定位/轮询一次。如果你不添加这一行wait.pollingEvery(2, TimeUnit.SECONDS);
,那么默认情况下它会尝试每500ms(0.5s)进行一次定位/轮询
WebDriverWait wait = new WebDriverWait(driver, 40);
wait.pollingEvery(2, TimeUnit.SECONDS);
wait.until(ExpectedConditions.elementToBeClickable(element));
这是我的理解。希望这会有所帮助。