我正在尝试从 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
最佳答案
尝试添加一个更改事件并触发它
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
关于javascript - 通过 VBA 从 IE 页面的下拉列表中选择一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54902310/