Selenium可以并行等待多个元素过时(Java)吗?

时间:2016-11-22 11:49:39

标签: java multithreading selenium wait

除了实现自己的多线程之外,Selenium是否有机制等待多个并行元素过时?

我用它来等待单个元素

WebDriverWait wait = new WebDriverWait(driver, 3);  //3 = timeout
wait.until(ExpectedConditions.stalenessOf(element));

我有30个元素可以同时重新创建,我不会在30 * 3秒内阻止代码。

由于

3 个答案:

答案 0 :(得分:0)

selenium不这样做。

我的建议:选择花费时间最长的元素并等待那个元素。

答案 1 :(得分:0)

wait.until仅阻止代码,直到满足条件。超时是最长时间。

WebDriverWait wait = new WebDriverWait(driver, 3);
wait.until(ExpectedConditions.stalenessOf(element));

在您的代码中,如果{1}}在1秒后为真ExpectedConditions.stalenessOf将阻止1秒钟。如果wait.until在第一次检查中已经为真,则代码将立即继续。

答案 2 :(得分:0)

使用NgWebDriver:https://github.com/paul-hammant/ngWebDriver

您可以等到所有页面元素都准备就绪,必须为Angular网站使用库