html - 在页面上查找元素而不搜索整个文档

标签 html powershell dom getelementsbytagname dom-traversal

为了提高性能,我想执行getElementsByTagName(“td”)而不用搜索整个文档。有没有办法缩小搜索这些元素的范围?这是我的代码:

 $ie.Document.getElementsByTagName("td") | ? {($_.className -match 'NodeDocument') 

问题是返回结果要花费10分钟以上的时间,我想缩小搜索范围,以使搜索速度更快并且不会返回不需要的元素。

例如,我只想在下面的图像中搜索突出显示的元素,而不是在下面的文件夹中搜索。有没有一种方法可以指定仅在“常规”文件夹中显示?

任何和所有帮助表示赞赏。谢谢。



感谢您的答复,我将尝试实现XPath。对于它的值(value),这里是HTML的屏幕截图。 #1是“常规”文件夹的元素。 #2是文件夹中的第一个文档元素。
enter image description here

更新:尝试了Frodo在Chrome检查器的$ conventional文件夹中调用.getElementsByTagName()的方法。这是结果的屏幕截图:

enter image description here

最佳答案

如何首先定位容器节点并在其中进行搜索?那将限制您到ex。 5个td-节点,需要通过where-object过滤,而不是像现在这样的1000+个节点。

$conventional = $ie.Document.getElementById('OurLibrary_LibTocUC$LandingPanel$toc1$ExpertTree1_nl_23')
$documents = $conventional.getElementsByTagName("td") | ? { $_.className -match 'NodeDocument' }

关于html - 在页面上查找元素而不搜索整个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36800837/

相关文章:

html - CSS如何将图像定位在右下角

.net - 如何查询DOTNET_CLI_TELEMETRY_OPTOUT是否永久设置为TRUE?

javascript - JS : remove lastChild only works every second button click

javascript - 如何用js提取网页中当前所有的视频文件及其地址?

powershell - 如何使用 -split 运算符,同时仍然保留用于拆分字符串的子字符串?

javascript - 无法访问 twitch DOM

javascript - getBoundingClientRect() 返回错误的宽度

html - 垂直拉动 Bootstrap 网格元素

django - 如何将 django 模板变量呈现为 html?

windows - 确保将 IIS AppPool 用户添加到 windows 组