【问题标题】:VBA - Click on a button in IE that appears not to be a Button [closed]VBA - 单击 IE 中似乎不是按钮的按钮 [关闭]
【发布时间】:2020-10-20 22:20:47
【问题描述】:

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

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

<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```

【问题讨论】:

  • 向我们展示您用来尝试单击按钮的代码可能是个好主意。否则我们很难猜出问题所在(您的问题可能会被关闭)

标签: vba internet-explorer button search onclick


【解决方案1】:

我建议尝试遍历页面上的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 按钮,并且页面显示错误,因为文档编号无效。

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

【讨论】:

  • 实际上,代码是完美的。我对我需要的内容做了一些更改(添加一个循环来搜索一批“cnpj”并收集它的结果:D 非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
相关资源
最近更新 更多