VBA点击hover下拉菜单

我在这里有一个类似于这个问题的请求,而且我刚刚发现并正在查看此请求 。 我试图build立一个VBAmacros来刮一些networking数据,我已经通过login屏幕,但现在我卡住的页面似乎是用JavaScript编写的,我完全不熟悉如何使用它。 我对HTML很模糊,并且只是随心所欲地教导自己。 下面是我的VBA到目前为止,取消的代码行显示我已经尝试过,没有工作。 我想要做的是点击一个链接到“报告”,这是一个名为“My Sequentra”的下拉菜单,由onmouseover激活。 感谢您的帮助。

Sub SingleSiteReportPull() Dim ie As Object Dim form As Variant, button As Variant Set ie = CreateObject("InternetExplorer.Application") '''''Set input boxes for username, password, & site to pull report for''''' myusername = InputBox("Enter Your Sequentra Username") mypassword = InputBox("Enter Your Sequentra Password") searchsite = InputBox("Which site would you like to pull a report for?") '''''Go to webpage''''' With ie .Visible = True .navigate ("https://www.sequentra.net/seq-security/ssoLogin.go") While ie.ReadyState <> 4 DoEvents Wend '''''enter username & password''''' On Error Resume Next ie.document.getelementsbyname("j_username").Item.innertext = myusername ie.document.getelementsbyname("j_password").Item.innertext = mypassword '''''submit login info''''' With appIE ie.document.forms(0).submit End With '''''click through menus to reports''''' 'Set frms = ie.document.getelementsbyTagname("FORM") 'Set button = form(0).onsubmit 'form(0).submit 'Set link = ie.document.getelementsbytagname("a") 'For Each l In link ' If link.classname = "appReportsShow.do" Then ' link.Click ' Exit For 'End If 'Next l 'ie.documents.parentWindow.execScript "loadFrame('appReportsShow.do')", "JavaScript" 'Do While ie.busy: DoEvents: Loop End With Set ie = Nothing End Sub 

这里是我正在看的页面源代码:

 <li class="clsTopMenuItem active" onmouseover="expandTopMenu(this)" onmouseleave="collapseTopMenu(this)"><a href="javascript:void(0);">My Sequentra</a> <ul style="display: none;"> <li class="clsSubMenu" onmouseover="expandMenu(this)" onmouseleave="collapseMenu(this)"><a onclick="loadFrame('javascript:goHome()', this, {isNewWindow: false, width:-1, height:-1})" href="javascript:void(0);">Home</a> </li> <li class="clsSubMenu" onmouseover="expandMenu(this)" onmouseleave="collapseMenu(this)"><a onclick="loadFrame('appReportsShow.do', this, {isNewWindow: false, width:-1, height:-1})" href="javascript:void(0);">Reports</a> </li> <li class="clsSubMenu" onmouseover="expandMenu(this)" onmouseleave="collapseMenu(this)"><a onclick="loadFrame('notificationMyAlertListShow.go', this, {isNewWindow: false, width:-1, height:-1})" href="javascript:void(0);">My Alerts</a> </li> </ul> </li> 

在ozgrid上发现了一个类似的问题 ,用它作为基点,并通过点击。 以下解决scheme

 ie.document.all.Item Call ie.document.parentWindow.execScript("loadFrame('appReportsShow.do')", "JavaScript") .Click