Non riesco a trovare la sintassi corretta per l'iterazione tramite innerHTML di un nodelist in Nightwatch. Sto cercando di restituire gli URL di ogni tag "a" contenuto nel contenuto del corpo di una pagina, ma non riesco a trovare un modo per accedere ai risultati del mio comando querySelectorAll in Nightwatch.Come eseguire un'iterazione tramite querySelectorTutti i risultati in Nightwatch
browser.execute(function() {
return document.querySelectorAll("div.field-item.even a");
},
function(tags){
console.log(tags.value);
console.log(tags.value[9]);
})
Ci sono 10 collegamenti sulla pagina che sto testando. Il selettore di query sembra essere tutti recuperato, poiché console.log (tags.value) stampa i seguenti:
[ { ELEMENT: '1' },
{ ELEMENT: '2' },
{ ELEMENT: '3' },
{ ELEMENT: '4' },
{ ELEMENT: '5' },
{ ELEMENT: '6' },
{ ELEMENT: '7' },
{ ELEMENT: '8' },
{ ELEMENT: '9' },
{ ELEMENT: '10' } ]
e console.log (tags.value [9]): stampe
{ ELEMENT: '10' }
Non riesco a trovare un modo per recuperare il collegamento da questi risultati, tuttavia. L'aggiunta di .innerHTML a una di queste variabili restituisce "indefinito". C'è un modo per me di scorrere i risultati querySelectorAll e recuperare gli URL all'interno di esso?
EDIT: Sembra che posso ottenere lo stesso risultato se uso il seguente codice:
browser.elements("css selector", "div.field-item.even a", function(tags) {
console.log(tags.value);
console.log(tags.value[9]);
})
Ho inizialmente pensato che stavo lavorando con un NodeList, ma penso che sto essere effettivamente ha restituito un oggetto JSON WebElement come da documentation for the .elements command.
Non riesco ancora ad accedere al testo interno, tuttavia. Qualche idea?
Eventuali duplicati di [Come scorrere gli elementi selezionati con document.querySelectorAll] (http://stackoverflow.com/questions/12330086/how- a-loop-through-selezionata-elementi-con-documento querySelectorAll) – hippietrail