我尝试在Firebug源的帮助下捕获dom元素的x-path。
它已将相关函数明确定义为getElementXPath()
,并且我可以通过传递Web元素来获取xpath。
但它返回单个x路径,x路径策略是不可预测的。
它可以是具有ID的绝对路径或相对路径。
说这是我们简单的HTML页面:
<html>
<body>
<form>
First name: <input id="fname" type="text" name="firstname"><br>
Last name: <input id="lname" type="text" name="lastname">
</form>
</body>
</html>
我在这里搜索第一个文本框的xpath:
//*[@id="fname"]
这是我们使用firebug得到的;以及使用我的使用getElementXPath()
Firebug代码的脚本。
但在Selenium IDE中,有一个下拉框,其中包含单个Web元素的建议路径列表。
id=fname () - id
name=firstname - name
css=#fname - css
//input[@id='fname'] - xpath:attributes
//input - xpath:position
我浏览了它的代码,发现Google AJAXSLT
是他们使用的默认库。它还说:使用“javascript-xpath”来获得更新,更快的引擎。
我检查了两个脚本,但到目前为止,我无法找到任何返回路径数组的直接函数。
在这些库中是否有像Firebug getElementXPath()
这样的简单独立函数?