Selenium WebDrive findElements 返回对象



我试图遍历某个表并获取innerHTML((,但是当我尝试这样做时,我得到innerHTML不是一个函数。 我已经查看了文档,findElements 应该返回一个数组,但如果我检查项目的类型是一个对象

var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('firefox')
.build();
driver.get('https://stackoverflow.com/');
driver.findElements(By.xpath('//*[@id="question-mini-list"]/div'))
.then(function(item) {
console.log( item );
});

从他们的findElementsGitHub 返回一个Array,其中包含Elements(对象!

findElements: function(scope) {
var element;
if (element = $(this.params.id))
if (this.match(element))
if (!scope || Element.childOf(element, scope))
return [element];
scope = (scope || document).getElementsByTagName(this.params.tagName || '*');
var results = [];
for (var i = 0; i < scope.length; i++)
if (this.match(element = scope[i]))
results.push(Element.extend(element));
return results;
}

要获取 innerHTML,您可以在元素上使用getAttribute函数:

item[0].getAttribute('innerHTML');

最新更新