Ich kann nicht scheinen, die richtige Syntax für das Durchlaufen der innerenHTML einer Nodelist in Nightwatch zu finden. Ich versuche, die URLs jedes "a" -Tags zurückzugeben, die im Body-Inhalt einer Seite enthalten sind, aber ich kann keine Möglichkeit finden, auf die Ergebnisse meines querySelectorAll-Befehls in Nightwatch zuzugreifen.Wie iterate durch querySelectorAll Ergebnisse in Nightwatch
browser.execute(function() {
return document.querySelectorAll("div.field-item.even a");
},
function(tags){
console.log(tags.value);
console.log(tags.value[9]);
})
Es gibt 10 Links auf der Seite, die ich gerade teste. Die Abfrage Wähler scheint sie alle, da console.log (tags.value) druckt die folgenden werden das Abrufen:
[ { ELEMENT: '1' },
{ ELEMENT: '2' },
{ ELEMENT: '3' },
{ ELEMENT: '4' },
{ ELEMENT: '5' },
{ ELEMENT: '6' },
{ ELEMENT: '7' },
{ ELEMENT: '8' },
{ ELEMENT: '9' },
{ ELEMENT: '10' } ]
und console.log (tags.value [9]) druckt:
{ ELEMENT: '10' }
Ich kann jedoch keine Möglichkeit finden, den Link von diesen Ergebnissen abzurufen. Das Anfügen von .innerHTML an eine dieser Variablen gibt 'undefined' zurück. Gibt es eine Möglichkeit für mich, die querySelectorAll-Ergebnisse zu durchlaufen und die URLs darin abzurufen?
EDIT: Es scheint, wie ich das gleiche Ergebnis kann, wenn ich den folgenden Code verwenden:
browser.elements("css selector", "div.field-item.even a", function(tags) {
console.log(tags.value);
console.log(tags.value[9]);
})
Ich habe gedacht, dass ich mit einem Nodelist arbeite, aber ich glaube, ich bin zu sein eigentlich gab ein WebElement-JSON-Objekt gemäß der documentation for the .elements command zurück.
Ich kann immer noch nicht auf den inneren Text zugreifen. Irgendwelche Ideen?
Mögliches Duplikat von [Wie Schleife durch ausgewählte Elemente mit document.querySelectorAll] (http://stackoverflow.com/questions/12330086/how- to-loop-through-selected-elements-with-document-queryselektorall) – hippietrail