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.

Haga clic en los nombres de clase en VBA – No Selenium

Estoy en la gestión de proyectos sin conocimiento de TI / Codificación.
Estoy tratando de hacer automatización web.
Tendrá que hacer clic en ciertos enlaces, enviar un formulario y luego guardar.
Sin embargo, tampoco puedo hacer clic en el primer enlace.
Este es mi código hasta ahora.

Sub CommandButton1_Click()

Dim ie As Object
Dim html As HTMLDocument
Dim form As Variant, button As Variant

Sheet1.Range("B6").Value = Application.UserName

' Abrir Internet Explorer
Set ie = CreateObject("InternetExplorer.Application")

ie.navigate "https://www.link.com/"

ie.Visible = True

While ie.Busy
DoEvents
Wend

Set html = ie.document

html.getElementsByClassID("p2205").Click

End Sub

A continuación se muestra el código.
Quiero hacer clic en el nombre de la empresa.

Código del sitio web

enter image description here

También he probado en la web y videos de YouTube, pero supongo que no conozco el lenguaje o la lógica detrás de la codificación. Por lo tanto, no puedo avanzar.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Estimado Gerente de Proyecto,

    Gracias por ponerse en contacto. Parece que tienes dificultades para automatizar acciones web utilizando VBA. En tu código, cuando intentas hacer clic en el elemento con el ID “p2205”, estás utilizando “getElementsByClassID”, que no es un método válido. En su lugar, deberías usar “getElementById” para dirigirte a los elementos por su ID.

    Aquí tienes un ejemplo de cómo puedes hacer clic en el enlace “Nombre de la Compañía” utilizando VBA:

    Sub CommandButton1_Click()
    
    Dim ie As Object
    Dim html As HTMLDocument
    Dim companyNameLink As Object
    
    Sheet1.Range("B6").Value = Application.UserName
    
    'Abrir Internet Explorer
    Set ie = CreateObject("InternetExplorer.Application")
    
    ie.navigate "https://www.link.com/"
    ie.Visible = True
    
    While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
        DoEvents
    Wend
    
    Set html = ie.document
    
    'Encontrar el enlace "Nombre de la Compañía" por su ID
    Set companyNameLink = html.getElementById("ctl31_lnkDisplay")
    
    'Hacer clic en el enlace
    companyNameLink.Click
    
    End Sub
    

    Esto hará clic en el enlace “Nombre de la Compañía” en la página web que proporcionaste, asumiendo que el ID del enlace es “ctl31_lnkDisplay”. Puedes utilizar un enfoque similar para enviar formularios y hacer clic en botones de “Guardar”.

    Si necesitas más ayuda, no dudes en ponerte en contacto. ¡Buena suerte en tu proyecto de automatización web!

    Saludos cordiales,
    [Tu Nombre] el experto en IT especializado en Excel, VBA y automatización web.

Comments are closed.