Estoy intentando escribir una función que pueda adquirir el valor de texto de un nodo nextSibling debajo de un corchete de etiqueta. Necesito poder poner ese texto en una variable global a la que pueda hacer referencia más adelante en la prueba, pero mi función actual, mientras recupera el webElementId, no recupera el texto. En cambio, mi función console.log genera un valor en blanco.
Para brindar algo de contexto sobre el código en cuestión, aquí está el diseño HTML del campo que estoy tratando de analizar.
<iframe> id=[some_id] #document <html> <head> <body> <div> id=[some_id] <form> id=[some_id] <div> id=[some_id] <div> id=[some_id] <div> style=[some_style] <label>[some text]<label> [text field in question]Ese es solo el diseño básico, pero aquí está el fragmento de código que intento usar para tomar el nodo hermano, obtener la identificación y luego obtener el texto de webElementId.
.getNextSibling('div[id=popover_content] > form[id=perform_sub_task_form] > div[id=perform_task] > div[id=dialog_container] > div > label:nth-of-type(8)', function(dateObj) { let dateVal = dateObj.value.getId() console.log(`datevalue: ${dateVal}`) browser.elementIdText(`${dateVal}`, function(result) { console.log('\n' + result.value) initial_date = result.value }) })Ya intenté simplificar esto y ejecutar una función de devolución de llamada solo en la función .getNextSibling usando result.value.getText(), que solo hace que Nightwatch me diga que la función no existe. Al leer la documentación de la función getNextSibling(), descubrí que getId() se puede agregar a la devolución de llamada, así que decidí usar eso a mi favor e intentar usar el webElementId proporcionado y escribir el fragmento de código anterior.
Sé que mi código funciona hasta la primera función de console.lg, porque el webElementId se representa correctamente en la terminal desde la que me estoy quedando. Pero una vez que intenta registrar el valor de resultado, aparece una línea en blanco en la terminal.
Mi pregunta es, ¿cómo puedo editar este fragmento anterior para que deje de darme un valor en blanco? ¿Hay algún problema con mi función browser.elementIdText()?