我似乎無法找到正確的語法來遍歷Nightwatch中的nodelist的innerHTML。我試圖返回包含在頁面正文內容中的每個「a」標籤的url,但是我找不到在Nightwatch中訪問我的querySelectorAll命令結果的方法。如何遍歷查詢選擇器所有結果在Nightwatch
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])打印:
{ ELEMENT: '10' }
但是,我找不到從這些結果中檢索鏈接的方法。將.innerHTML附加到這些變量中的任何一個會返回「未定義」。有沒有什麼辦法讓我遍歷querySelectorAll結果並在裏面檢索url?
編輯:好像如果我使用下面的代碼,我可以得到相同的結果:
browser.elements("css selector", "div.field-item.even a", function(tags) {
console.log(tags.value);
console.log(tags.value[9]);
})
我原本以爲我是一個節點列表的工作,但我覺得我其實是根據documentation for the .elements command返回一個WebElement JSON對象。
但是我仍然無法訪問內部文本。有任何想法嗎?
[通過與document.querySelectorAll選擇的元素如何循環]的可能的複製後(http://stackoverflow.com/questions/12330086/how-到環通選擇的元素與 - 文檔queryselectorall) – hippietrail