有一个简单的场景需要等到一个微调器从DOM中消失,所以我的代码是:
driver.findElements(By.id('plain-spinner'))
.then((eles) => {
if (eles.length > 0) return driver.wait(until.stalenessOf(eles[0]), 12000, 'Spinner cannot disappear');
});
上述代码适用于除Safari之外的所有浏览器。在safari中,它只是等到超时并且打印'Spinner不能消失',就像什么也没发生一样。
版本:操作系统是mac 10.12,selenium-webdriver是3.4,safari是11.01。
答案 0 :(得分:0)
我想通过以下不同方法解决您的问题:
如果您正在处理的WebPage
有spinner
,则该应用程序基于AngularJS
。因此,我不会将ExpectedConditions
子句用作 stalenessOf
作为spinner元素,而是使用其他一些子句,如下所示:
WebElement
,请使用 elementToBeClickable((By.id("next_element"))
WebElement
使用 presenceOfElementLocated((By.id("next_element"))