NightwatchJS .elements返回字符串而不是对象

Rog*_*nda 7 selenium acceptance-testing ghostdriver nightwatch.js

我正在使用夜视仪并尝试迭代元素列表.但是,当我没有获得对象或元素时,我得到了一个字符串数组.

browser.elements("css selector", ele, function(r){
    browser.perform(function(){
      console.log("LIST", r);
    })
  })
Run Code Online (Sandbox Code Playgroud)

返回

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 }
Run Code Online (Sandbox Code Playgroud)

value应该返回webElements权的对象?

提前致谢

Pet*_*gad 10

在我浏览了一些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
   }
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看selenium上的命令列表:http: //nightwatchjs.org/api#protocol

最后,文档中的ID指的是上面的element.ELEMENT.

希望有所帮助!