Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用不同的定位策略捕获dom元素的X路径_Javascript_Selenium_Xpath - Fatal编程技术网

Javascript 使用不同的定位策略捕获dom元素的X路径

Javascript 使用不同的定位策略捕获dom元素的X路径,javascript,selenium,xpath,Javascript,Selenium,Xpath,我试图在Firebug源代码的帮助下捕获dom元素的x路径。 它明确地将相关函数定义为getElementXPath(),我可以通过传递Web元素来获取xpath。 但是它返回一个x路径,并且x路径策略是不可预测的。 它可以是ID为的绝对路径或相对路径 假设这是我们的简单HTML页面: <html> <body> <form> First name: <input id="fname" type="tex

我试图在Firebug源代码的帮助下捕获dom元素的x路径。 它明确地将相关函数定义为
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>
这就是我们使用firebug得到的结果;以及使用我的脚本,该脚本使用Firebug代码的
getElementXPath()

但是在SeleniumIDE中有一个下拉框,其中列出了单个web元素的建议路径

    id=fname ()          - id
    name=firstname       - name
    css=#fname           - css
    //input[@id='fname'] - xpath:attributes
    //input              - xpath:position
我查看了它的代码,发现
Google AJAXSLT
是他们使用的默认库。它还说:对更新、更快的引擎使用“javascript xpath”。 我检查了这两个脚本,但到目前为止,我无法找到任何返回路径数组的直接函数


这些库中是否有类似Firebug的
getElementXPath()
这样的简单独立函数?

如果我正确理解您想在Firebug中尝试XPath,那么请尝试


示例:

No。。这不是我所期望的。我需要按语法来做。我正在传递DOM元素。。我需要一个函数来返回表示此元素的XPath数组。
    id=fname ()          - id
    name=firstname       - name
    css=#fname           - css
    //input[@id='fname'] - xpath:attributes
    //input              - xpath:position