【问题标题】:how to create XPATH for a HTML DOM element?如何为 HTML DOM 元素创建 XPATH?
【发布时间】:2010-11-22 22:07:21
【问题描述】:

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

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

谢谢,

达特巴约。

【问题讨论】:

    标签: html dom xpath


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      经过一番努力,我找到了办法。

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

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

      【讨论】:

        【解决方案3】:

        在 Mozilla 中实现了一个 xpath generator 组件,尽管它从未成为默认版本。

        您可以在我链接到的错误所附的“最终补丁”中找到测试,以了解如何使用它。您也可以查看它的实现,可能会有所帮助。

        【讨论】:

          【解决方案4】:

          可以新建一个domdocument,然后导入node元素

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

          然后你可以在 domelement 中使用 xpath:

          $xpathe=new DOMXPath($DD);
          

          【讨论】:

            【解决方案5】:

            这是一个可能对您有所帮助的 chrome 扩展程序 (CromyQlip)

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

            【讨论】:

              猜你喜欢
              • 2015-09-17
              • 1970-01-01
              • 2011-12-25
              • 1970-01-01
              • 2018-12-20
              • 2012-07-07
              • 2014-02-12
              • 2010-10-06
              • 2017-05-20
              相关资源
              最近更新 更多