2017-05-26 107 views
-1

我想等待几个加载纺纱器消失。所以我用一个等待ExpectedConditions.invisibilityOfElementLocated,例如:ExpectedConditions.invisibilityOfElementLocated在只有一个元素不可见时停止?

(new WebDriverWait(driver, 120)).until(ExpectedConditions.invisibilityOfElementLocated(By.className("Spinner"))); 

然而,等待结束,而一些纺纱厂装载在屏幕上仍然存在。看起来,当这个查询找到的第一个微调框变为不可见时,等待停止。

有什么办法可以等待全部元素变得不可见,除了自定义条件?

+1

还有什么你试过吗?你尝试过'ExpectedConditions.invisibilityOfAllElements(elements)'吗? – JeffC

+0

不保证在等待期间不会出现新元素,因此只需搜索一次,然后使用'invisibilityOfAllElements(elements)'就不会起作用。 –

+0

我已经实现了自定义条件,但是我想知道是否有可接受的解决方案。 –

回答

0

你可以尝试以下如果所有的纱厂有同一类的“微调”

(new WebDriverWait(driver, 120)).until(ExpectedConditions.invisibilityOfAllElements(driver.findElements(By.className("Spinner")))); 
+0

但是在等待开始时,这会找到类Spinner的元素一次。如果在等待期间添加了新的,该怎么办? –