如何用java或javascript获取整个网站的xpath
嗨,当我给出url并得到整个网站的元素xpath时,我需要xpath 我有一个html文件,比如如何用java或javascript获取整个网站的xpath,java,javascript,xpath,Java,Javascript,Xpath,嗨,当我给出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> &
<!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>
如何使用javascript或java实现这一点。当然可以为文档中的元素生成XPath表达式,但这种算法通常会实现一种方法,如果
h4
元素的结果是/html/body/h4
,则输入元素的结果将是/html/body/input
。您发布的示例是一个XHTML文档,其中元素位于名称空间http://www.w3.org/1999/xhtml
这要求在XPath 1.0的XPath表达式中使用前缀。到目前为止,您的需求还没有得到很好的定义
要提供示例,请参见函数makeXPath
,您可以为document.body.getElementsByTagName('*')
中的所有元素调用该函数。该函数可能在文本/html上下文中执行,但它忽略名称空间。它使用了IE中不支持的DOM Level 3 XPath API。因此,将其作为解决问题的方法,而不是实现您的需求的完整答案
/html/body/h4
//*[@id="firstname"]