0

我有以下 HTML 代码片段:

<div id="divTooltips_Section_Filter" style="float:right; padding-right: 30px; padding-bottom: 10px;">
<img src="/mkteditor/css/images/tooltip.png" width="25px" height="25px" alt="">
</div>

我按以下方式编写了xpath:

1. //*[@id='divTooltips_Section_Filter']/img
2. //div[@id='divTooltips_Section_Filter']/img

上面提到的两个 xpath 都运行良好。它们之间的基本/主要区别是什么?WebDriver 有性能问题吗?

4

1 回答 1

1

您的第一个查询会查找文档中的每个元素,并对id属性应用过滤器,然后查找img过滤后元素的所有子元素。

您的第二个查询查找文档中的每个div元素,并对id属性应用过滤器,然后查找img过滤元素的所有子div元素。

这两个查询可能返回不同的结果。

如果在您的情况下(给定您期望作为输入的文档),您知道两个查询将返回相同的结果,那么第二个查询应该执行得更好(如果您的 XPath 处理器没有很好地实现),因为对属性的测试将是对文档中元素的子集执行。

于 2012-10-23T08:42:41.850 回答