【发布时间】:2017-04-21 13:17:36
【问题描述】:
我正在登陆一个网页,该网页的左侧菜单看起来像这样
Client
contact history list inquiry
contact history list
Client Search
Client Service
当您单击一个项目(例如:客户端)时,会出现子项目。如果您单击一个子项目,它会将您带到一个新页面。
我正在尝试使用 VBA 自动执行这两个步骤。但我没有运气。这是相关的html
折叠
<P tabIndex=0 class=inactiveMenuItem _submenuid="menuLevel10" _ingeniummenuid="00100">Client</P>
<UL id=menuLevel10 class=hiddenMenu _ingeniummenuid="00100" _parentmenuid="menuLevel1"></UL></LI>
展开
<P tabIndex=0 class=inactiveMenuItem _submenuid="menuLevel10" _ingeniummenuid="00100">Client</P>
<UL id=menuLevel10 class=visibleMenu _ingeniummenuid="00100" _parentmenuid="menuLevel1" _populated="true">
<LI><A class=inactiveMenuItem href="#" _flowname="BF1325InqList">Contact History List Inquiry</A></LI>
<LI><A class=inactiveMenuItem href="#" _flowname="BF1324List">Contact History List</A></LI>
我试过这样的
Dim objIE As New InternetExplorerMedium
Dim objDoc As HTMLDocument
Dim objElement As IHTMLElement
'go to website
objIE.Navigate ("http://SOMESITE.COM") (not the real site)
objIE.Visible = True
'sleep half seconds until page is loaded
Do Until objIE.ReadyState = READYSTATE_COMPLETE
Sleep (500)
Loop
'click on menu item
Set objDoc = objIE.Document
Set objElement = objDoc.getElementById("menuLevel10")
objElement.Click
这没有用。我还尝试使用 FireEvent 函数触发 OnClick 事件,但这也不起作用。任何帮助表示赞赏。我对 HTML 的了解非常有限,所以请告诉我是否应该添加更多 HTML 源代码,或者是否缺少一些信息。
编辑:如果有任何改变,它就是一个 Intranet 站点
【问题讨论】:
-
您应该尝试添加网站的示例。如果您的网站在 Intranet 上,您可以为我们创建一个基本的测试示例。
-
@TomasZubiri 你的意思是像网站的截图吗?
-
或者网站的html代码
标签: html ms-access web dom vba