我已搜索并搜索过但未找到解决此问题的任何解决方案,
如何触发div内的onclick事件?我通过测试它的标题和getattribute来获得一切正确但它不会点击。
IE.document.getElementById("btn_header").FireEvent ("onclick")
IE.document.getElementById("btn_header").click
IE.document.getElementById("btn_header").parentElement.click
网页代码
<td>
<div id='btn_header' title='BTN' onclick="window.open('http://www.google.com','_blank');"></div>
</td>
我还看到一些网站说Fireevent由于某些原因不能与IE11合作,还有其他替代方案吗?
答案 0 :(得分:1)
div.FireEvent "onclick"
应该有效(以下使用IE11测试的示例)。
也许你的div是空的(什么都没有点击?)。
HTML用于测试代码here。
' Add reference to Microsoft Internet Controls (SHDocVw)
' Add reference to Microsoft HTML Object Library
Sub TriggerDivClick()
Dim ie As SHDocVw.InternetExplorer
Dim doc As MSHTML.HTMLDocument
Dim div As HTMLDivElement
Dim url As String
url = "file:///c:/temp/divOnClick.html"
Set ie = New SHDocVw.InternetExplorer
ie.Visible = True
ie.navigate url
While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
Set doc = ie.document
Set div = ie.document.getElementById("btn_header")
div.FireEvent "onclick"
ie.Quit
Set ie = Nothing
End Sub
答案 1 :(得分:1)
您也可以尝试直接通过以下方式调用脚本:
IE.document.parentWindow.execScript "window.open('http://www.google.com','_blank');", "javascript"