如何用java或javascript获取整个网站的xpath

How to get the xpath for whole website in java or javascript

本文关键字:网站 xpath 获取 何用 java javascript      更新时间:2024-01-30

嗨,当我给出url并获得整个网站的元素xpath时,我想要xpath。对于示例

我有一个类似的html文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Untitled Document</title>
   </head>
   <body>
   <h4>Test</h4>
    <input type="text" id="firstname" name="first" value="" />
   </body>
   </html>

我需要一个类似以下格式的输出

/html/body/h4
//*[@id="firstname"]

如何使用javascript或java实现这一点。

当然可以为文档中的元素生成XPath表达式,但这种算法通常会实现一种方法,如果h4元素的结果是/html/body/h4,那么input元素的结果将是/html/body/input。您发布的示例是一个XHTML文档,其中元素位于命名空间http://www.w3.org/1999/xhtml中,这需要在XPath 1.0的XPath表达式中使用前缀。到目前为止,您的需求还没有得到很好的定义。

要给您一个样本,请参阅http://home.arcor.de/martin.honnen/javascript/storingSelection1.html对于函数makeXPath,您可以为document.body.getElementsByTagName('*')中的所有元素调用该函数。该函数可能在text/html上下文中执行,它会忽略名称空间。它使用了IE不支持的DOM Level 3 XPath API。因此,将其视为如何解决问题的想法,而不是实现需求的完整答案。