第一次调用 pollingEvery() 方法是什么时候?

When is the first call in pollingEvery() method?

我现在正在研究 Selenium,我必须使用 FluentWait。我的代码中有一行直接把我引到了这里。

    .pollingEvery(Duration.ofMillis(250))

第一个电话是什么时候?是现在我运行代码还是250毫秒之后?

我一直在寻找答案,但我得到的只是 Selenium 检查 WebElement 是否每 250 毫秒可见一次(在本例中)。

FluentWait <WebDriver> fluentWait = new FluentWait <> (driver);
WebElement myWorldMessage = fluentWait
.withTimeout(Duration.ofSeconds(5))
.pollingEvery(Duration.ofMillis(250))
.ignoring(NoSuchElementException.class)
.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@id='finish']/h4")));

它立即检查,然后每 250 毫秒轮询(再次检查)。

您可以查看 WebDriverWaitExpectedConditionsWebDriverWait 扩展了 FluentWait 但使用了一些默认值并且更容易设置。你的代码会变成

new WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@id='finish']/h4")));

the sources