2009-08-26 170 views
10

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

给出一个DOM元素如何得到这个XPATH字符串? 任何想法?

谢谢,

Dattebayo。

回答

1

我记得,在xpath checker扩展到Firefox为您提供了获取XPath来DOM元素的HTML文档中的指向和点击界面。

0

了很多的斗争后,我找到了一种方法来做到这一点。

随着DOM路径也使用每个节点的SourceIndex。像“/ Html:1/Body:2/Div:5/Input:6”

但是, 1.在动态页面(ajax修改内容)的情况下,这可能不起作用。 2.这可能并不是独一无二的,因为根据浏览器的不同,浏览器的sourceIndex可能会有所不同,因为渲染引擎会安排节点。 (不确定这一点,但只是一个想法)。

0

在Mozilla的一个xpath generator组分实施虽然它从未到默认版本。

您可以找到测试附于我联系到错误“最终补丁”,看看它如何被使用。你也可以查看它的实现,可能会有所帮助。

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);