【发布时间】:2018-03-29 08:10:59
【问题描述】:
我正在尝试让我的代码单击 javascript li 链接或执行 javascript 代码,其中任何一个都可以解决我的问题。
这是我的代码:
Sub submitlogin()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://blablabla/"
While IE.busy: DoEvents: Wend
On Error Resume Next
IE.Document.getElementsByTagName("a").Item(4).Click 'doesn´t work
我也试过了:
IE.Document.parentWindow.execScript "checkcontained();", "javascript" 'also not working
并尝试过:
Set ObjA = IE.Document.getElementByID("foldinglist").getElementsByTagName("a")(0)
ObjA.Click 'also not working
End Sub
这是 HTML:
<body class="menu">
<div id="menu">
<div align="left" id="text" style="position:absolute;top:0px;left:40px; width: 200px; height: 19px;display:none;"><strong><b>[TimeS]</b></strong></div>
<div align="left" id="idMenu" style="position:absolute;top:18px;left:7px; width: 200px; height: 19px; display:none;"></div>
<div id="treeview">
<div id="menu_d">
<ul style=""><li id="foldheader0" onClick="JavaScript: checkcontained();">time control
<ul id="foldinglist" style="DISPLAY:none;" onClick="JavaScript: checkcontained();"><li id="foldheader1" onClick="JavaScript: checkcontained();">Maintenance
<ul id="foldinglist" style="DISPLAY:none;" onClick="JavaScript: checkcontained();"><li><a href="JavaScript: chamaPagina('../../thisthat.asp', '');">admin</a></li></ul></li>
<li id="foldheader1" onClick="JavaScript: checkcontained();">Consult/Reports
<ul id="foldinglist" style="DISPLAY:none;" onClick="JavaScript: checkcontained();"><li><a href="JavaScript: chamaPagina('../../thisthat_redir.asp', '');">Demonst time</a></li></ul></li>
<li id="foldheader1" onClick="JavaScript: checkcontained();">help
<ul id="foldinglist" style="DISPLAY:none;" onClick="JavaScript: checkcontained();"><li><a href="JavaScript: chamaPagina('../thisthose.html', '');">PortariRE</a></li></ul></li>
</ul>
<form name="frmMenu"><input type="hidden" id="txtmaxnivel" name="txtmaxnivel" value="1" /></form>
我必须在此处单击(或执行):
<ul id="foldinglist" style="DISPLAY:none;" onClick="JavaScript: checkcontained();"><li><a href="JavaScript: chamaPagina('../../thisthat_redir.asp', '');">Demonst time</a></li></ul></li>
【问题讨论】:
-
本题与java无关。我已经为你删除了标签。
-
QHarr,这不起作用,它是网站上的一个可扩展列表,“foldinglist”只有在首先单击“foldheader0”之后才可用,然后单击此处:“foldheader1”。它打开级联样式...我不知道这是否有所不同,但我确实在两个链接上都尝试了您的解决方案(首先在级联上和我真正想要的那个):IE.Document.getElementByID(“foldinglist”)。单击并 IE.Document.getElementByID("foldinglist").Click 但没有成功
-
是内部网址还是公共网址?
-
这是一个内部链接,在公司内部网上,但是,浏览器上的 URL 没有变化,所以我不能简单地“IE.navigate to”
-
级联(树视图)是这样的:link