使用 RegEx 匹配 HTML DOM 表单标签和 ID 中的模式

Using RegEx to match patterns in HTML DOM form labels and IDs

我遇到一个问题,开发基于 Web 的应用程序的团队使用了 WYSIWYG 编辑器,几个月前,他们更新了一些 HTML 表单标签和 ID。我的团队创建了与这些基于 Web 的应用程序中的 DOM 到 gather/enter/update 信息一起使用的宏。当我收到有关更新的报告时,我查看了它,发现特定行的原始代码是:

strQ = objIE.document.getElementById("ctl00_ContentPlaceHolder1_lblQueue").innerTEXT

此元素 ID 的标签中的任何内容都将存储在 strQ 中,并用于检测用户正在另一个基于 Web 的应用程序中工作的工作队列。当第一个应用程序的团队进行更新时,标签元素 ID 的代码变为:

strQ = objIE.document.getElementById("ContentPlaceHolder1_lblQueue").innerTEXT

如您所见,他们删除了标签元素 ID 开头的 ctl00_。就在几天前,然后再次更新并添加回来。由于所有标签 ID 都以 ContentPlaceHolder1_ 开头,有时可能包含 ctl00_,是否有任何方法可以使用 RegExp 在标签 ID 中简单地找到 lblQueue

您可以按照此处所述使用查询选择器:

在您的示例中,它将是(id$ 表示 ID 'ends with' 所在的位置):

document.querySelector('[id$="lblQueue"]').innerText