我有一个锚标记列表,必须测试单击列表中的第二个标记。
<ul id="shortcuts">
<li><a ui-sref="app.journeyExplorer" href="#/journey-explorer/"><span class="ng-binding">1</span></a></li>
<li><a ui-sref="app.userGroupManager" href="#/user-group-manager"><span class="ng-binding">2</span></a></li>
</ul>
经过大量调查和测试后得出的正确陈述应该是:
element(By.id('shortcuts')).element(By.tagName('a')).get(1).click();
但它显示未定义。如果我使用get()它不起作用。没有得到它点击列表中的第一个锚标记,并带有警告:'找到多个锚标记,在这种情况下,第一个被选中'
有人可以帮帮忙吗?感谢。
答案 0 :(得分:7)
您可能想要尝试下面的选择器(注意all()
而不是第二个element()
来匹配所有锚点(以便下一步的.get()
有意义。
element(By.id('shortcuts')).all(By.tagName('a')).get(1).click();
或通过.css
element(By.css('#shortcuts a:nth-child(1)').click();