我正在使用 nightwatch 并尝试遍历元素列表。但是,当我没有得到对象或元素时,我得到了一个字符串数组。
代码
browser.elements("css selector", ele, function(r){
browser.perform(function(){
console.log("LIST", r);
})
})
返回
LIST { sessionId: 'b273b874-c084-4d17-8bbe-a911a170ef25',
status: 0,
state: 'success',
value:
[ { ELEMENT: '6' },
{ ELEMENT: '7' },
{ ELEMENT: '8' },
{ ELEMENT: '9' },
{ ELEMENT: '10' },
{ ELEMENT: '11' } ],
class: 'org.openqa.selenium.remote.Response',
hCode: 995684858 }
value
应该返回一个 webElements 对象吧?提前致谢
最佳答案
在我浏览了一些 Selenium 文档之前,我在这个问题上挣扎了一段时间。
基本上这就是预期的返回。这些 ELEMENT 项是 WebElement JSON 对象。您可以使用一些 Selenium 命令来尝试查找有关它们的其他信息,执行以下操作:
_.each(list.value, function(element, i){ //using underscore instead of for loop.
browser.elementIdAttribute(element.ELEMENT, 'name', function(result){
//result.value will contain the name attribute on the element
}
}
您可以在此处查看有关 selenium 的命令列表:
http://nightwatchjs.org/api#protocol
最后,文档中的 ID 指的是上面的那个 element.ELEMENT。
希望有帮助!
关于selenium - NightwatchJS .elements 返回字符串而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30469623/