WebdriverIO:如何正确迭代大量元素并注销getText?

时间:2017-07-29 10:20:56

标签: javascript node.js ui-automation webdriver-io

我想学习webdriverio。 我尝试运行此代码:

client.init().
url('https://www.example.com').
elements('p').then((result) => {
    for (i = 0; i < result.value.length; i++) {
        (client.elementIdText(result.value[i])).
        then((re) => console.log(re))
    }
})

但是没有注销。

我知道我可以使用getText('p')来做,但只是想知道如何使用元素('p')来做。

1 个答案:

答案 0 :(得分:2)

希望这个提示能帮助你找到答案:

let totalElements = $$('p').map((result) => {
    return result.getText();
});
console.log(totalElements);

或者这个选项

$$('p').forEach(function(result){
    console.log(result.getText());
});

注意:$$ Link

要从代码中完成,请执行相同的$$,删除.value并将方法更改为getText()。由于elementIdText()仅将选择器ID作为参数,因此没有返回任何内容。 <p>不是ID。请参阅此处elmentIdText()

for(i=0; i<result.length; i++){
  (client.getText(result[i])).
   then((re) => console.log(re))
}