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

标签 selenium acceptance-testing ghostdriver nightwatch.js

我正在使用 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/

相关文章:

performance - 数据库中的功能测试和遗留代码

ruby-on-rails - Steak gem 解决什么问题?

ruby-on-rails - 集成与验收测试......什么是 cucumber /牛排?

selenium - Protractor (Selenium webdriver)VS ghostdriver(phantomjs webdriver)有什么区别?

python - 需要从 selenium 服务器转储带有元素 id 的整个 DOM 树

selenium - 使用 Selenium 抓取 Twitter 粉丝

使用 Homebrew cask 安装时,Selenium WebDriver 无法找到 Firefox

java - AWS Redhat Chromedriver 不适用于 Java selenium

javascript - 使用 webdriverJS 更改 phantomJS 的视口(viewport)大小

java - 错误 : simctl error running 'create' : Invalid device type: on appium and real ios device