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.

Excel VBA Selenium – Hacer clic en una imagen

https://www.laquintaca.gov/connect/short-term-vacation-rentals

El sitio anterior tiene un conjunto de imágenes. Una de esas imágenes es una caja con el texto “PERMISOS ACTIVOS Y SUSPENDIDOS”. Al hacer clic en la imagen, se te llevará a un PDF descargable. Me gustaría automatizar ese proceso de descarga a mi escritorio. La imagen “naranja” se mantiene igual, pero la dirección href cambia cada dos semanas (número de serie del documento al final) cuando cargan un nuevo PDF.

Más directamente, ¿Cómo hago clic en el espacio de la imagen naranja para acceder al PDF subyacente, pero que cambia cada dos semanas?

No puedo encontrar la dirección del objeto ejecutable para hacer clic y llevarme al documento descargable. ¿Cuál es la línea de código de VBA Selenium para “hacer clic”?

ACTIVE & SUSPENDED PERMITS BOX

Sub EncontrarElementos()

    Set cd = New Selenium.ChromeDriver 
    cd.Start

    cd.Get "https://www.laquintaca.gov/connect/short-term-vacation-rentals"
    '"https://www.laquintaca.gov/connect/short-term-vacation-rentals"

'=================================================================
'Encontrar Elemento por ID o Nombre
'=================================================================
    Dim EntradaBusqueda As Selenium.WebElement
    Dim BotonBusqueda As Selenium.WebElement
    Dim EncontrarPor As New Selenium.By
'
    If Not cd.IsElementPresent(EncontrarPor.ID("OuterContainer")) Then
        MsgBox "No se pudo encontrar el cuadro de entrada de búsqueda"
       Exit Sub
    End If
'
'    Set EntradaBusqueda = cd.FindElementById("OuterContainer")
'    Set EntradaBusqueda = cd.FindElement(EncontrarPor.ID("searchInput"))
'    Set EntradaBusqueda = cd.FindElementByName("search")
'    Set EntradaBusqueda = cd.FindElementByCss("#searchInput")
'    Set EntradaBusqueda = cd.FindElementByCss("[name='search']")
'    Set EntradaBusqueda = cd.FindElementByXPath("//*[@id='searchInput']")
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para hacer clic en el espacio de la imagen naranja para acceder al PDF subyacente que cambia quincenalmente, puedes usar la siguiente línea de código VBA Selenium:

    Dim OrangeImage As Selenium.WebElement
    Set OrangeImage = cd.FindElementByXPath("//img[@alt='ACTIVE & SUSPENDED PERMITS BOX']")
    OrangeImage.Click()
    

    Este código busca el elemento de imagen con el texto alternativo “ACTIVE & SUSPENDED PERMITS BOX” y luego hace clic en él para abrir el PDF. A partir de ahí, puedes usar Selenium para navegar hasta el botón de descarga y descargar el PDF en tu escritorio.

Comments are closed.