VBA IE自动化-无法使用事件侦听器mouseenter和mouseleave单击按钮

时间:2019-07-22 17:32:34

标签: excel vba internet-explorer automation

有人可以帮助我吗?我在单击带有EventListener“ onmouseenter”和“ onmouseleave”的按钮时遇到问题。我已经尝试过FireEvents和DispatchEvents,但没有任何效果。我无法发布HTML源代码,因为它是一个客户端网站,但是我注意到的是,每次我手动单击按钮时,class属性都在变化,它是否与我的问题有关,或者有没有办法还能控制那些变化吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

这是基于上述描述而满足您要求的示例代码。

Sub demo()

    '--Add reference to Microsoft Internet controls and Microsoft HTML Object library...

    Dim IE As InternetExplorer
    Dim html As HTMLDocument

    Set IE = New InternetExplorerMedium
    IE.Visible = True
    IE.Navigate2 "C:\Users\Administrator\Desktop\189.html"

    Do While IE.Busy
        Application.Wait DateAdd("s", 1, Now)
    Loop
    Set objLink = IE.document.getElementById("myBtn")
    objLink.FireEvent ("onclick")
    objLink.FireEvent ("onmouseenter")
    objLink.FireEvent ("onmouseleave")

    Stop
    IE.Quit
    Set IE = Nothing
End Sub

如果仍然存在问题,那么我建议您创建示例HTML和VBA代码,这些示例会在我们这方面引起问题。我们将尝试对其进行测试并提供建议。

我们不需要有关您或您的客户的任何个人或机密信息。