尝试点击页面上的“赞助商”链接时出错:
unable to locate element, using {:href=>"/Sponsors", :target=>"", :tag_name=>"a"}
以下是我正在使用的行:
browser.div(:class => "pageContainer").header(:class => "page-header")
.div(:class => "container").nav.ul(:class => "nav nav-pills")
.li(:class => "", :index => 2).a(:href => "/Sponsors", :target => "").click
(仅供参考:我已尝试使用索引0到4,并删除索引;所有导致相同的错误)
以下是代码:
<div class="pageContainer">
<header class="page-header">
<div class="container">
<nav>
<ul class="nav nav-pills">
<li class>...</li>
<li class>...</li>
<li class="dropdown open">...</li>
<li class>
<a href="/Sponsors" target"">
Sponsors
</a>
</li>
<li class="dropdown">...</li>
</ul>
</nav>
答案 0 :(得分:1)
作为答案发布,因为OP表明它是一个解决方案。
不是限定元素的整个路径,而是使用单个定位器(如果更改了祖先元素,它应该仍然定位元素并且应该不那么脆弱):
browser.a(:href => "/Sponsors").click
browser.a(:text => "Sponsors").click