var personsWrapper = driver.findElement(By.className('_class1 _class2'));
personsWrapper.findElements(By.tagName('button')).then(function (persons_arr) {
console.log("length:", persons_arr.length);
persons_arr.forEach(function (p) {
var x = p.getAttribute("value");
console.log(x)
})
});
当我尝试这个时,我在控制台上获得了一个ManagedPromise对象而不是按钮的值 - 为什么?
答案 0 :(得分:2)
方法getAttribute
返回Promise,因此您需要先解决它。
var webdriver = require('selenium-webdriver');
var By = webdriver.By;
var map = webdriver.promise.map;
var elems = driver.findElements(By.css("._class1._class2 button"));
map(elems, e => e.getAttribute("value"))
.then(function(values) {
console.log(values);
});