【问题标题】:Select a value from dropdown on IE page via VBA通过 VBA 从 IE 页面的下拉列表中选择一个值
【发布时间】:2019-02-27 09:41:36
【问题描述】:

我正在尝试从 IE 页面的下拉列表中选择一个值。

我尝试了很多方法。它什么也没做。

下拉菜单源代码:

我尝试过的代码,用“EVR”选择值(下拉列表中只有一个值):

Application.Wait Now + #12:00:06 AM#

IE.Visible = True

'IE.document.getElementById("fileOnlineReturnTaxType").Value = "EVR"

'IE.document.getElementsByName("taxType").Value = "84"

   'Set oSelect = IE.document.getElementById("fileOnlineReturnTaxType")
    '    oSelect.Focus
     '   oSelect.selectedIndex = 1
      '  oSelect.FireEvent "onchange"

 'IE.document.getElementById("fileOnlineReturnTaxType").Click


  'Set Link3 = IE.document.getElementsByTagName("span")

   ' For Each t In Link3
          ' If t.innerText = "Select a tax type..." Then
          ' MsgBox (t.innerText)
           '   t.Click
            '  Exit For
           'End If
          'Next t

【问题讨论】:

  • 调试时IE.document.getElementsByName("taxType").Value的值是多少?值是“选择税种”吗?查看 Microsoft Internet Controls 和 HTML 库,然后您可以正确设置对象,您可以将下拉列表放在对象中并更好地调试。
  • 嗨,当我尝试时: test = IE.document.getElementsByName("taxType")(0).Value 然后它将具有 test = "" en with test = IE.document.getElementsByName(" taxType")(1).Value 它有这个错误:对象变量或未设置块变量

标签: javascript html vba internet-explorer web-scraping


【解决方案1】:

尝试添加一个更改事件并触发它

Option Explicit

Public Sub MakeSelection()
    Dim ie As New InternetExplorer
    With ie
        .Visible = True
        .Navigate2 "url"

        While .Busy Or .readyState < 4: DoEvents: Wend

        Dim event_onChange As Object
        Set event_onChange = .document.createEvent("HTMLEvents")
        event_onChange.initEvent "change", True, False

        With .document.querySelector("#fileOnlineReturnTaxType")
            .selectedIndex = 1
            .FireEvent "onchange"
            .dispatchEvent event_onChange
        End With
        Stop
        .Quit
    End With
End Sub

【讨论】:

  • 哇,我没有在下拉框中看到选定的值,但它有效!!!!非常感谢hh!我搜索了这部分好几个小时!
猜你喜欢
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-12
相关资源
最近更新 更多