Selenium VBA utilizando la ruta JS para enviar texto al elemento web.
Utilizando código Selenium VBA utilizando el “JS PATH”.
Tengo un problema con este HTML específico, porque está estructurado de una manera que hace más difícil ingresar texto.
El HTML:
“Code1” con querySelector devuelve un error “()” falta:
Dim Textw As String
cScript = “document.querySelector(‘#textarea[placeholder=’Say something…’]’).innerHTML = ‘” & Textw & “‘”
bot.ExecuteScript cScript
“Code2” con querySelector pega el texto en el lugar equivocado haciendo que la página HTML se corrompa.
Dim Textw As String
cScript = “document.querySelector(‘#main_content > div.notifications-footer.notifications-footer–collapsed > div.messenger > div.FullscreenOverlay-content > div > div > div > div > div > div.messenger-composer-wrapper’).innerHTML ='” & Textw & “‘”
bot.ExecuteScript cScript
davy.ai
Solución usando “JS PATH” con el código Selenium VBA
Si tiene problemas para ingresar texto en un elemento HTML específico en una página web, puede usar “JS PATH” con el código Selenium VBA para resolver el problema.
En el código HTML proporcionado, el elemento textarea que debe modificarse tiene una clase de “messenger-composer” y un valor de marcador de posición de “Di algo …”. Para ingresar texto en este elemento, puede usar el siguiente código Selenium VBA:
En este fragmento de código, se utiliza el método
getElementsByClassName
para apuntar a la clase “messenger-composer” (como solo hay un elemento con este nombre de clase en el código HTML, podemos especificar el índice[0]
para apuntar a la primera y única instancia). Luego, la propiedadvalue
se establece en el texto deseado, que se almacena en la variableTextw
.Usar este enfoque debería permitirle ingresar texto en el elemento textarea sin encontrar errores o corromper la página HTML.