getElementByID() 参数说明

getElementByID() parameter explanation

我正在查看一些与 Web 门户一起工作的自动化脚本,以节省大量繁重的工作。选择 windows 等命令对我来说很有意义,但是有很多行看起来像

Set oSelect = wndw.document.getElementById("pvBody:PageTemplate:innerHolder:ctrlAddPassword:ddlSafename")

Set oSelect = wndw.document.getElementById("pvBody:PageTemplate:innerHolder:ctrlAddPassword:PasswordProperties:rptRequiredProperties:_ctl2:ctrlRequiredProperties:ddlValue")

我明白程序在这里做什么:它正在选择页面上的一个元素来处理,但大量的字符串让我感到困惑。我知道如果没有网站本身,这可能毫无意义,但这就是我必须自己做的。

我想知道如何找出我要放在那里的内容。它是像检查元素一样简单,还是我需要深入了解页面源代码以找出它的名称?

字符串是 HTML 个元素的 ID。有人显然认为选择具有某种内部结构的 ID 是合适的,大概是为了让它们更容易 find/generate/handle/whatever。不过,从 HTML 的角度来看,它们只是不透明的字符串。只要它们在页面内是唯一的,它们也可以命名为 "foo""bar"

如果您需要确定要使用的元素的 ID,则需要查看此类元素可能如下所示的页面源代码:

<select id="pvBody:PageTemplate:innerHolder:ctrlAddPassword:ddlSafename">
  <option value="foo">23</option>
  <option value="bar">42</option>
  ...
</select>

或在生成页面源代码处(它实现了生成 ID 的逻辑)。