除了实现自己的多线程之外,Selenium是否有机制等待多个并行元素过时?
我用它来等待单个元素
WebDriverWait wait = new WebDriverWait(driver, 3); //3 = timeout
wait.until(ExpectedConditions.stalenessOf(element));
我有30个元素可以同时重新创建,我不会在30 * 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网站使用库