0

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

    .pollingEvery(Duration.ofMillis(250))

第一次打电话是什么时候?是在我运行代码的那一刻还是在 250 毫秒之后?

我一直在寻找答案,但我得到的只是 Selenium 每 250 毫秒检查一次 WebElement 是否可见(在这种情况下)。

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")));
4

1 回答 1

0

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

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

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

请参阅来源

于 2019-09-03T19:28:31.100 回答