【发布时间】: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