[英]how to invoke javascript from Internet Explorer DOM
我正在使用VBA(Excel)来操纵Internet Explorer中加载的网页中的下拉框。 下拉框附加了一些javascript,因此,当更改下拉选择时,页面的UI控件也会更改。
我使用以下功能(自动)从下拉菜单中选择一个选项。 它更改了保管箱的值, 但不触发UI更改 (与手动更改保管箱的情况相比)。
Sub selectFromDropdown(ByRef dropdown As HTMLSelectElement, ByVal optionName As String)
Dim opts
Dim opt As HTMLOptionElement
dropdown.Focus
dropdown.setCapture
Set opts = dropdown.children
For i = 1 To opts.Length
Set opt = opts.Item(i)
If opt.Text = optionName Then
opt.Selected = True
dropdown.selectedIndex = opt.Index
Exit For
End If
Next
dropdown.releaseCapture
End Sub
那么,如何触发此下拉框附带的JavaScript? 还是一般来说,如何通过MS Internet Explorer提供的API以编程方式触发事件? 谢谢。
您应该显示足够的HTML,以便我们可以看到附带的javascript和事件的类型。
可以说这是“ onclick”
你可以有
opt.Selected = True
opt.FireEvent "onclick"
设置组合框值时,显式调用javascript函数。
Sub selectFromDropdown(ByRef dropdown As HTMLSelectElement, ByVal optionName As String)
Dim opts
Dim opt As HTMLOptionElement
dropdown.Focus
dropdown.setCapture
Set opts = dropdown.children
For i = 1 To opts.Length
Set opt = opts.Item(i)
If opt.Text = optionName Then
opt.Selected = True
dropdown.selectedIndex = opt.Index
'Call hear javascript function.
Exit For
End If
Next
dropdown.releaseCapture
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.