【发布时间】:2013-10-02 06:31:07
【问题描述】:
我一直在做一些单元测试,并且作为测试 XML 脚本的一部分,使用它们的 Xpath 定位 HTML 元素。
其他测试人员告诉我,包含 [@id="IDName"] 之类的显式 id 会提高性能,因为它可以让应用程序更快地找到元素。
这是真的,还是神话?
作为一个例子,这些是我正在处理的一些 Xpath:
没有 ID 的 XPATH:
/html/body/div[2]/div/div/div[3]/div/table/tbody//tr
带 ID 的 XPath:
//body[@id= "body"]/div[@id= "wrapper"]/div[@id= "MainContent"]/div[@id="Grid"]/div[@id="DataTableContainer"]/div/table/thead
Java 真的能够比第一个更快地找到第二个元素吗?
【问题讨论】:
-
你可能想做
/html/body[@id="body"]/...,//, a.k.a/descendant-or-self::node()/有成本 -
你试过测量吗?
-
@MatthewFarwell 我没有。我不知道这样的工具是否存在。
-
@pault。谢谢保罗。有道理,会注意到这一点。