如何访问没有 ID 或名称的 HTML 控件?
How to access HTML controls with no ID or name?
我正在编写一个 VBScript 来访问网站并进行一些操作
Dim IE
Dim Helem
Dim hwnd
Dim Wnd
Set IE = CreateObject("InternetExplorer.Application")
hwnd = IE.hwnd
IE.Visible = 1
IE.Navigate "MySite.com"
Do While IE.ReadyState <> 4
WScript.Sleep 10
Loop
IE.document.getElementById("username").value = "user"
之后我必须单击 HTML
中没有 ID 或名称的超链接
<div id="menu">
<a href="some URL">click me 1</a>
<a href="some URL">click me 2</a>
<a href="some URL">click me 3/a>
<a href="some URL">click me 4</a>
</div>
有人可以帮我解决这个问题吗...
嗯,最简单的方法是将适当的 id 标记注入给定的 HTML,但如果您没有访问权限或权限,您可以随时使用 document.childNodes 和直接遍历 DOM 以找到您关心的元素。
Set myRootNode = IE.document.getElementById("menu").childNodes();
For i = 0 To myRootNode.length - 1
if (myRootNode(i).innerText == "click me 1" ) then
myRootNode(i).doClick()
end if
Next i
"doClick()" 部分很可能是不正确的,因为我已经十多年没有真正接触过 vb(或与此相关的任何微软操作系统)。但这应该为您指明正确的方向。
我正在编写一个 VBScript 来访问网站并进行一些操作
Dim IE
Dim Helem
Dim hwnd
Dim Wnd
Set IE = CreateObject("InternetExplorer.Application")
hwnd = IE.hwnd
IE.Visible = 1
IE.Navigate "MySite.com"
Do While IE.ReadyState <> 4
WScript.Sleep 10
Loop
IE.document.getElementById("username").value = "user"
之后我必须单击 HTML
中没有 ID 或名称的超链接<div id="menu">
<a href="some URL">click me 1</a>
<a href="some URL">click me 2</a>
<a href="some URL">click me 3/a>
<a href="some URL">click me 4</a>
</div>
有人可以帮我解决这个问题吗...
嗯,最简单的方法是将适当的 id 标记注入给定的 HTML,但如果您没有访问权限或权限,您可以随时使用 document.childNodes 和直接遍历 DOM 以找到您关心的元素。
Set myRootNode = IE.document.getElementById("menu").childNodes();
For i = 0 To myRootNode.length - 1
if (myRootNode(i).innerText == "click me 1" ) then
myRootNode(i).doClick()
end if
Next i
"doClick()" 部分很可能是不正确的,因为我已经十多年没有真正接触过 vb(或与此相关的任何微软操作系统)。但这应该为您指明正确的方向。