VBA - 在 IE 中单击一个看起来不是按钮的按钮

VBA - Click on a button in IE that appears not to be a Button

我正在尝试 运行 一个 vba 代码: 1 - 访问站点 (https://www.protestosp.com.br/consulta-de-protesto/) 2 - 输入一些信息 3 - 单击“咨询”按钮(问题所在)!

问题描述:我无法点击按钮(我以为这不是按钮,但我真的不知道)。

<input class="btn-padrao blue borderEffect2 mt-3 hoverEffect wider3" type="button" onclick="ValidarConsulta(this);" value="CONSULTAR">

在我当前的代码中,我使用的是:

```Set frm = IE.Document.GetElementsByclass("btn-padrao blue borderEffect2 mt-3 hoverEffect wider3")
frm.submit```

我建议尝试遍历页面上的 input 元素并检查其值。如果值为 CONSULTAR 然后尝试单击它。

示例 VBA 代码:

Sub demo()

    Dim IE  
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.navigate "https://Your_URL_will_be_here..."

    Do While IE.Busy
        Application.Wait DateAdd("s", 1, Now)
    Loop
     
   Set clickEvent = IE.document.createEvent("HTMLEvents")
   clickEvent.initEvent "click", True, False
   
   Set elem1 = IE.document.getElementById("AbrangenciaNacional")
   elem1.Click
   elem1.dispatchEvent clickEvent
   
   IE.document.getElementById("TipoDocumento").Value = "2"
   
   IE.document.getElementById("Documento").Value = "12345"

   'Below is code to loop through inputs, find the button and click it.
    Set elems = IE.document.getElementsByTagName("input")
    For Each elem In elems
        If (elem.Value) = "CONSULTAR" Then
            elem.Click
            elem.dispatchEvent clickEvent
            Exit For
        End If
    Next elem

End Sub 

输出:

您可以看到代码正在单击 CONSULTAR 按钮并且页面显示错误,因为文档编号无效。

您可以尝试传递正确的值并尝试在您这边测试此代码。