【问题标题】:Xpath not found未找到 Xpath
【发布时间】:2019-05-25 02:20:24
【问题描述】:

执行测试用例的时候,出现这个错误:

未找到带有定位器“xpath=//*[@id="stBanner"]/div[2]/a[2]”的按钮。

元素没有id,我必须使用Xpath,但是找不到。

这是我检查元素时的代码:

<div class="stRight">
   <span id="mobileSearchIcon" class="glyphicon glyphicon-search"></span>
       <!-- Logged in --><!-- Logged out -->
           <a class="user-sts-link" href=" uri=nm:oid:Z6_72A2IA80O0US40QOM4JF0F30O3">REGISTER</a>
           <a class="user-sts-link" href="?uri=nm:oid:Z6_72A2IA80O0CSB0Q4ODDFDQ0081">LOGIN</a>
</div>

这是 xpath:

//*[@id="stBanner"]/div[2]/a[2]

这是测试用例:

SeleniumLibrary.Open Browser    @{tst3Url}[0]    firefox
SeleniumLibrary.Click Button    xpath=//*[@id="stBanner"]/div[2]/a[2]

【问题讨论】:

  • 添加更大的 HTML 块 - 不仅是 a 元素,还包括围绕它的 div 以及 div 上方的元素。
  • 当您在浏览器中尝试此 xpath 时会发生什么 - 是否找到了元素?
  • @Todor 已经更新了 HTML 代码。当我在浏览器中尝试此 Xpath 时,会找到该元素。
  • 在您提供的示例中,//div/a[2] 确实将元素与“LOGIN”测试匹配;因此,如果您在问题中添加父 HTML 元素,我们会看到它失败的地方。
  • 好的,我现在明白了,如果你需要我添加上面的元素。很抱歉提出愚蠢的问题。

标签: xpath robotframework


【解决方案1】:

不要使用Click Button 关键字——它只适用于&lt;button&gt; 类型的html 元素。

改为使用Click Element - 您的目标元素是&lt;a&gt;,使用Click Elements 浏览器将执行点击它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2020-11-15
    • 2011-04-12
    • 2021-06-06
    • 1970-01-01
    相关资源
    最近更新 更多