module.exports = { 'TESTTT'(browser){ browser .url ("https://xyz") .elements('xpath', '//div[@class="ant-card-head-title"]//span', function (elements) { console.log(elements.value) // It prints all the three web elements elements.value.forEach(function (elementsObj) { console.log("WebElementID: " + elementsObj.ELEMENT) // gives undefined browser.elementIdText(elementsObj.ELEMENT, function (result) { console.log('\n' + result.value) }) }) }) } } Estoy usando Nightwatch para la automatización de la interfaz de usuario. Hay tres elementos Web cuyo texto quiero imprimir. Antes del ciclo ForEach cuando imprimo ( elements.value ) me da los tres elementos. Pero cuando imprimo después de ForEach , da un valor ' undefined ' de un webElementId . ¿Por qué está dando un valor indefinido?
No estoy seguro de qué se supone que es .ELEMENT. si está utilizando vscode y no puede presionar strg + hacer clic en ELEMENTO, entonces no existe.
Si desea obtener el valor del objeto, pruebe mi código modificado. Esto funciona para mi ;)
module.exports = { 'TESTTT'(browser){ browser .url ("https://xyz") .elements('xpath', '//div[@class="ant-card-head-title"]//span', function (elements) { console.log(elements.value) // It prints all the three web elements elements.value.forEach(function (elementsObj) { // Changed Code below let elementID = elementsObj[Object.keys(elementsObj)[0]] console.log(`WebElementID: ${elementID}`) // Logs the first property value of the elementsObj browser.elementIdText(elementID, function (result) { // Changed Code above console.log('\n' + result.value) }) }) }) } }