我期待关于 Selenium 中的 selenium webdriver 轮询时间的正确解释。
据我所知,下面的等待命令将等待 40 秒,直到特定元素可点击
public void CreateSalesOrder(){
WebDriverWait wait = new WebDriverWait(driver, 40);
wait.until(ExpectedConditions.elementToBeClickable(btnNewSalesOrser));
btnNewSalesOrser.click();
}
在第二个代码片段中,我添加了“轮询”命令。
public void CreateSalesOrder(){
WebDriverWait wait = new WebDriverWait(driver, 40);
wait.pollingEvery(2, TimeUnit.SECONDS);
wait.until(ExpectedConditions.elementToBeClickable(btnNewSalesOrser));
btnNewSalesOrser.click();
}
轮询时间有什么用?
最佳答案
如果我们没有提及任何轮询时间,selenium 将默认轮询时间为 500 毫秒。即,脚本将每 500 毫秒检查一次网页中 web 元素的异常情况。您的第一个代码片段适用于此。
我们使用pollingEvery 来覆盖默认轮询时间。在下面的示例(您的第二个代码片段)中,脚本每 2 秒检查一次预期条件,而不是 500 毫秒。
public void CreateSalesOrder()
{
WebDriverWait wait = new WebDriverWait(driver, 40);
wait.pollingEvery(2, TimeUnit.SECONDS);
wait.until(ExpectedConditions.elementToBeClickable(btnNewSalesOrser));
btnNewSalesOrser.click();
}
这种轮询频率实际上可能有助于减少 CPU 过载。 有关详细信息,请参阅此 javadoc pollingEvery .
希望对您有所帮助。谢谢。
关于java - Selenium webdriver 轮询时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44645586/