我想知道爲什麼這段代碼永遠不會解決成功或失敗。JS Selenium findElements不會解決
driver.findElements(By.id(eid)).then(
function (ret) {
console.log("Success");
return !!ret.length;
}, function (err) {
console.log("Failure");
}
);
我想知道爲什麼這段代碼永遠不會解決成功或失敗。JS Selenium findElements不會解決
driver.findElements(By.id(eid)).then(
function (ret) {
console.log("Success");
return !!ret.length;
}, function (err) {
console.log("Failure");
}
);
我讀的地方,你不應該依賴回調,你應該寧願使用的承諾。
所以在我的情況下,它看起來像:
let ret = driver.findElements(By.id(eid));
console.log("Success");
return !!ret.length;
你覺得什麼人?
本文使事情更清晰:http://testerstories.com/2016/03/webdriver-in-javascript-with-promises/ – xTomasM
我運行下面的代碼在我的chrome上找到了。我可以'找到h2計數:7'。 我安裝了[email protected]
var webdriver = require('selenium-webdriver'),
By = webdriver.By;
var driver = new webdriver.Builder()
.forBrowser('chrome')
.usingServer('http://localhost:4444/wd/hub')
.build();
driver.get('https://www.npmjs.com/package/selenium-webdriver');
driver.sleep(5000);
driver.findElements(By.css('h2')).then(function(eles) {
console.log('find h2 count: ' + eles.length);
return !!eles.length;
}, function(err) {
console.log('error: ' + err);
return err;
});
從代碼中,所有的東西都沒問題。你可以給一個小的但可運行的代碼片段,所以我們可以嘗試在我們這邊。你有沒有嘗試在其他網站上面的代碼? – yong
我不認爲有其他代碼需要測試它。即使找到元素,它也應該始終打印成功或失敗。 – xTomasM
在上面的代碼之前可能發生了一些錯誤嗎?或者嘗試selenium-webdriver的其他版本 – yong