Javascript 如何在Nightwatch中遍历QuerySelector所有结果

Javascript 如何在Nightwatch中遍历QuerySelector所有结果,javascript,jquery,nightwatch.js,selectors-api,Javascript,Jquery,Nightwatch.js,Selectors Api,我似乎找不到在Nightwatch中迭代节点列表的innerHTML的正确语法。我试图返回页面正文内容中包含的每个“a”标记的URL,但在Nightwatch中找不到访问querySelectorAll命令结果的方法 browser.execute(function() { return document.querySelectorAll("div.field-item.even a"); }, function(tags){ console.log(tags.value);

我似乎找不到在Nightwatch中迭代节点列表的innerHTML的正确语法。我试图返回页面正文内容中包含的每个“a”标记的URL,但在Nightwatch中找不到访问querySelectorAll命令结果的方法

browser.execute(function() {
    return document.querySelectorAll("div.field-item.even a");
},
function(tags){
    console.log(tags.value);
    console.log(tags.value[9]);
})
我正在测试的页面上有10个链接。查询选择器似乎正在检索它们,因为console.log(tags.value)打印以下内容:

[ { ELEMENT: '1' },
  { ELEMENT: '2' },
  { ELEMENT: '3' },
  { ELEMENT: '4' },
  { ELEMENT: '5' },
  { ELEMENT: '6' },
  { ELEMENT: '7' },
  { ELEMENT: '8' },
  { ELEMENT: '9' },
  { ELEMENT: '10' } ]
和console.log(tags.value[9])打印:

但是,我找不到从这些结果中检索链接的方法。将.innerHTML附加到这些变量中的任何一个都会返回“undefined”。我有没有办法遍历querySelectorAll结果并检索其中的URL

编辑:如果我使用以下代码,似乎可以得到相同的结果:

browser.elements("css selector", "div.field-item.even a", function(tags) {
    console.log(tags.value);
    console.log(tags.value[9]);
})
我最初以为我是在使用节点列表,但我认为实际上根据


但是,我仍然无法访问内部文本。有什么想法吗?

我用另一种方法解决了这个问题。我使用了命令而不是querySelectorAll,然后用于获取每个“a”标记中每个“href”属性的内容

  //Get an WebElement JSON object array of all urls
  browser.elements("css selector", "div.field-item.even a", function(link_array) {
    for (var x = 0; x < link_array.value.length; x++){
      //Fetch the url from each 'a' tag in the content
      browser.elementIdAttribute(link_array.value[x].ELEMENT, "href", function(links) {
        console.log(links.value);
      });
    }
  })
//获取所有URL的WebElement JSON对象数组
browser.elements(“css选择器”、“div.field-item.偶数a”、函数(link_数组){
对于(var x=0;x
这将打印出页面内容中的每个链接

selectAllRoles: function (client) {
        client.elements('css selector', '.editorDetail ul li input[type=checkbox]', function(res) {
            res.value.forEach(elementObject => {
                client.elementIdClick(elementObject.ELEMENT);

            });
        });

        return this;
    },
在“css选择器”后面填写您的id

可能重复的
selectAllRoles: function (client) {
        client.elements('css selector', '.editorDetail ul li input[type=checkbox]', function(res) {
            res.value.forEach(elementObject => {
                client.elementIdClick(elementObject.ELEMENT);

            });
        });

        return this;
    },