我正在使用selenium-webdriverjs.我想等待显示某个元素,我已经创建了一个明确的等待,如下所示,它工作得很好,
var displayed = false;
driver.wait(function(){
driver.findElement(locator).isDisplayed().then(function(value){
displayed = value;
});
return displayed;
}, timeout);
Run Code Online (Sandbox Code Playgroud)
这是我能做的最好的还是有更好的方法来做到这一点?我问的原因是第一次调用等待回调(在我的情况下)它将始终返回false.只有在执行isDisplayed promise时,才会显示更改的值.
我似乎无法找出在页面上找到多个元素的最佳方法.
它总能找到一个,但如果我正在测试看看在某种行为之后有多少特定元素存在呢?
findElement() // always returns 1 element
findElements(By.className('someClass')) // always returns 1 element
Run Code Online (Sandbox Code Playgroud)