es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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

Tags:  , , ,

Answer

  1. Avatar for 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:

    Dim Textw As String
    
    cScript = "document.getElementsByClassName('messenger-composer')[0].value = '" & Textw & "';"
    bot.ExecuteScript cScript
    

    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 propiedad value se establece en el texto deseado, que se almacena en la variable Textw.

    Usar este enfoque debería permitirle ingresar texto en el elemento textarea sin encontrar errores o corromper la página HTML.

Comments are closed.