如何访问没有 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(或与此相关的任何微软操作系统)。但这应该为您指明正确的方向。