【问题标题】:What is the difference between Relative XPath and Minimal XPath?相对 XPath 和最小 XPath 有什么区别?
【发布时间】:2015-04-21 07:56:23
【问题描述】:

相对 XPath 和最小 XPath 之间有什么区别还是两者相同?

在 Firebug 中,选项中提到了两种类型的 XPath:“XPath”和“Minimal XPath”。

【问题讨论】:

  • 相对 XPath 和最小 XPath 是相同的。绝对 XPath 和相对 XPath 之间存在差异。

标签: xpath firebug


【解决方案1】:

这两个选项的区别是described within the documentation to the HTML panel

Copy Minimal XPath 选项旨在使与一个元素相关的 XPath 尽可能短。所以“最小”这个词实际上是指生成的 XPath 的长度。
它目前 (Firebug 2.x) 仅适用于具有 ID 的元素。对于那些元素,它以

的形式复制XPath
//*[@id="elementID"]

其中elementID 表示在元素的id 属性中给出的ID。因此,“最小”和“相对”这两个词目前实际上是相同的。尽管 Firebug 的未来版本可能会扩展该功能,以便为没有 ID 的元素生成最少的 XPath。而且这些最小路径不一定是相对的。

Copy XPath 选项可用于所有元素,并将绝对 XPath 复制到元素,例如看起来像这样:

/html/body/div/div[1]/div/div/table[4]/tbody/tr[17]/td[2]/a

【讨论】:

  • 据我了解:相对 XPath 是 //*[@id="elementID"] 绝对 XPath 是:/html/body/div/div[1]/div/div/table[ 4]/tbody/tr[17]/td[2]/a 。我的问题是什么是最小 XPath?
  • 最小 XPath = 相对 XPath
  • 所以,Relative XPath 和 Minimal XPath 是一样的。绝对 XPath 和相对(最小)XPath 是有区别的
  • 我编辑了我的答案以澄清这两个词在这里的意思相同。 “最小”这个词只是preferred by the developers。是的,区别在于绝对 XPath 和相对 XPath。
  • 另外,Copy XPath 仅依赖于路径表达式中的位置谓词
猜你喜欢
  • 1970-01-01
  • 2016-06-07
  • 2021-04-23
  • 1970-01-01
  • 2015-01-26
相关资源
最近更新 更多