如何为HTML DOM元素创建XPATH?

时间:2009-08-26 08:29:49

标签: html dom xpath

如何为HTML DOM元素创建XPATH? 例如,“/ HTML / BODY / DIV [1] / TABLE [1] / TR [2] / TD [1] / INPUT”。

给定DOM元素如何获取此XPATH字符串? 有什么想法吗?

谢谢,

Dattebayo。

5 个答案:

答案 0 :(得分:4)

您可以创建新的domdocument,然后导入节点元素

$DD= new DOMDocument('1.0', 'utf-8');
$DD->loadXML( "<html></html>" );
$DD->documentElement->appendChild($DD->importNode($DE,true));

然后你可以使用xpath insithe domelement:

$xpathe=new DOMXPath($DD);

答案 1 :(得分:1)

我记得,firefox的xpath checker扩展为您提供了一个点击式界面,用于获取HTML文档中DOM元素的xpath。

答案 2 :(得分:0)

经过多次努力,我找到了一种方法。

与DOM路径一起使用每个节点的SourceIndex。比如“/ Html:1 / Body:2 / Div:5 / Input:6”

但是, 1.这可能不适用于动态页面(修改内容的ajax)。 2.这可能不是唯一的浏览器,因为sourceIndex可能会根据浏览器渲染引擎排列节点而在浏览器中有所不同。 (但不确定这个,只是一个想法)。

答案 3 :(得分:0)

在Mozilla中,xpath generator组件已实现,但它从未使其成为默认构建。

你可以在我链接的bug附带的“最终补丁”中找到测试,看看它是如何使用的。您也可以查看其实现,可能会有帮助。

答案 4 :(得分:0)

这是一个可以帮助您的Chrome扩展程序(ChromyQlip)

https://chrome.google.com/extensions/detail/bkmllkjbfbeephbldeflbnpclgfbjfmn