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.

Cómo acceder a los elementos de la segunda y tercera página después de navegar manualmente en un navegador de Chrome lanzado por VBA.

Quiero navegar manualmente a una nueva página y luego hacer clic en un botón en esa página a través de un script VBA.

Hasta ahora, el cliente inicia sesión en la página, completa los detalles y omite el captcha mediante una extensión de Chrome. Ahora necesita automatizar el llenado del OTP (One-Time Password) y 3 clics sucesivos en 3 páginas sucesivas, para lo cual necesito hacerlo de esta manera. En IE, usando una ventana Shell, puedo hacer las acciones, pero no se puede usar el captcha. Por lo tanto, quiero iniciar Chrome a través del controlador de webdriver para obtener el control del navegador y permitir que el usuario complete la entrada en la página y omita el captcha. En la siguiente página, completaré el OTP desde VBA. Presumo que la referencia del navegador seguirá siendo la misma y la URL cambiará.

Así es como abro el navegador. El navegador se abre y el usuario completa la entrada y navega a la siguiente página de OTP. ¿Cómo obtengo el elemento de la caja de texto para completarlo?

Dim d As Webdriver
Set d = New ChromeDriver
Const URL = "https://www.google.com/"
d.Start "Chrome"

¿Cómo proceder con esto?

Por favor, dame alguna dirección.

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para navegar a una nueva página manualmente y luego hacer clic en un botón en esa página a través de un script VBA utilizando Selenium, puedes seguir estos pasos:

    1. Abrir el navegador Chrome utilizando WebDriver:
    Dim d As Webdriver
    Set d = New ChromeDriver
    Const URL = "https://www.google.com/"
    d.Start "Chrome"
    
    1. Navegar a la página donde el usuario necesita completar los detalles y omitir el captcha:
    d.Get "https://www.example.com"
    
    1. Esperar a que el usuario complete los detalles y omita el captcha manualmente.
    2. Navegar a la página de OTP:

    d.Get "https://www.example.com/otp-page"
    
    1. Localizar el cuadro de texto de OTP utilizando un identificador único como su ID, nombre o clase:
    Dim otpTextbox As WebElement
    Set otpTextbox = d.FindElementById("otpInput")
    
    1. Rellenar el cuadro de texto de OTP con el código generado y recibido por el usuario:
    otpTextbox.SendKeys "13579"
    
    1. Localizar y hacer clic en el botón para la siguiente página:
    Dim nextButton As WebElement
    Set nextButton = d.FindElementById("nextButton")
    nextButton.Click
    

    Nota: Sería útil tener conocimientos básicos de HTML y CSS para localizar los elementos web. Puedes hacer clic derecho en el elemento que deseas localizar, seleccionar “Inspeccionar” y encontrar el identificador único de ese elemento.

Comments are closed.