[英]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.