【问题标题】:Capture X-Path of a dom element using different location strategies使用不同的定位策略捕获 dom 元素的 X-Path
【发布时间】:2013-12-18 20:10:41
【问题描述】:

我尝试在 Firebug 源代码的帮助下捕获 dom 元素的 x-path。 它已将相关函数明确定义为getElementXPath(),并且我可以通过传递 Web 元素来获取 xpath。 但它返回单个 x-path,x-path 策略是不可预测的。 可以是绝对路径,也可以是带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 得到的;以及使用我的脚本,它使用了 Firebug 代码的getElementXPath()

但在 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() 这样简单的独立函数?

【问题讨论】:

    标签: javascript selenium xpath


    【解决方案1】:

    如果我正确理解您想在 firebug 中尝试您的 xpath,请尝试 FirePath

    示例:

    【讨论】:

    • 不..这不是我期望做的。我需要在语法上这样做。我正在传递 DOM 元素。我需要一个函数来返回代表该元素的 xpath 数组。
    猜你喜欢
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2019-08-29
    • 2014-10-18
    相关资源
    最近更新 更多