作者:chucai | 来源:互联网 | 2023-01-31 18:39
我期待有关Selenium中硒webdriver轮询时间的正确解释.
据我所知,下面的wait命令会等待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();
}
轮询时间有什么用?
1> santhosh kum..:
如果我们没有提到任何轮询时间,硒将默认轮询时间为500毫秒.即,脚本将每500毫秒检查一次网页中的webelement的例外情况.您的第一个代码段适用于此.
我们使用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过载.有关更多信息pollingEvery,请参阅此javadoc .
希望这对你有所帮助.谢谢.