Selenium 节点 API Web 驱动程序等待超时处理程序
Selenium Node API web driver wait timeout handler
我是 Selenium 网络驱动器的新手。尝试进行一些页面自动化,并使用 driver.wait
函数先等待选择器呈现,然后再进行一些操作。
想知道如果元素在 x 秒后没有出现,Selenium 是否有办法传入超时处理程序来管理超时。
这是我的代码:
driver.wait(function () {
return driver.isElementPresent(webdriver.By.css('input[id="searchMap"]'));
}, 10000);
所以 10 秒后如果 input[id="searchMap"]
没有出现,Selenium 脚本将结束并抛出错误。
我正在寻找这样的东西:
driver.wait(function () {
return driver.isElementPresent(webdriver.By.css('input[id="searchMap"]'));
}, 10000, function fail(){
console.log("Time is up!");
});
自己找到了解决办法。必须对 Selenium promise
class 使用 catch
。
这是我的代码:
driver.wait(function () {
return driver.isElementPresent(webdriver.By.css('div.info-page'));
}, 10000).catch(function(e){
console.log('Catching Error');
});
我是 Selenium 网络驱动器的新手。尝试进行一些页面自动化,并使用 driver.wait
函数先等待选择器呈现,然后再进行一些操作。
想知道如果元素在 x 秒后没有出现,Selenium 是否有办法传入超时处理程序来管理超时。
这是我的代码:
driver.wait(function () {
return driver.isElementPresent(webdriver.By.css('input[id="searchMap"]'));
}, 10000);
所以 10 秒后如果 input[id="searchMap"]
没有出现,Selenium 脚本将结束并抛出错误。
我正在寻找这样的东西:
driver.wait(function () {
return driver.isElementPresent(webdriver.By.css('input[id="searchMap"]'));
}, 10000, function fail(){
console.log("Time is up!");
});
自己找到了解决办法。必须对 Selenium promise
class 使用 catch
。
这是我的代码:
driver.wait(function () {
return driver.isElementPresent(webdriver.By.css('div.info-page'));
}, 10000).catch(function(e){
console.log('Catching Error');
});