lxml - 如何获得最小的xpath元素?

时间:2015-02-05 22:43:41

标签: python xpath xml-parsing html-parsing lxml

tree.xpath("/exact/path/to/element")会产生[<Element I want>]

exact/path/to/element是通过致电tree.getroottree().getpath(element)来获得的。

如果我找到元素的最小xpath,例如萤火虫,tree.xpath("//@minimal-descriptor")产生[<Element I want>]

问题

如何使用lxml或其他Python库从element获取 minimal xpath?

1 个答案:

答案 0 :(得分:1)

不可能使lxml生成除the "absolute" one之外的任何xpath表达式,这一点最重要,因为可能有大量的xpath表达式指向一个元素。

此处还提出了几个要点:


据我所知firebug documentation和相关的"Split current option "Copy XPath" into two options for copying the absolute and relative XPath" issue,“复制最小XPath”功能仅适用于id属性集的元素:

  

复制最小XPath - 带ID的节点 - 复制最小版本   XPath到当前节点到剪贴板