我正在使用 selenium-webdriver,等待页面加载并使用 driver.wait
检查(等待标签显示)。
两件事
有没有办法处理
driver.wait
超时导致的错误(以阻止服务器崩溃)?既然我开始怀疑这种方法不合适,那么这是一个只使用
driver.sleep
然后使用driver.findElement
的好地方吗? > 检查标签是否存在?
谢谢!
最佳答案
使用 promise ,我找到了解决问题的方法:
driver.wait(webdriver.until.elementLocated(webdriver.By.tagName(selector)), 10 * 1000, "Timed out")
.catch(function(e){
if (e.message.match("Timed out")){
return e;
} else {
throw e;
}
})
.then(function(e){
if (e.message && e.message.match("Timed out")){
driver.quit();
} else {
[functional code]
});
}
});
这有点笨拙,因为 selenium-webdriver 只是使用抛出错误
而不是超时时的命名错误。但它似乎比使用 driver.sleep 更好。
关于javascript - Selenium 处理超时 driver.wait,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38025501/