Capybara - 用Id&找到一个元素文本或使用多个属性

时间:2016-07-29 19:02:02

标签: ruby capybara

我有2个相同ID 2和不同文本的链接

<li class=""> 
<a href="#" id="2">2</a>
</li>

<li class="">
<a href="#" id="2">Next</a>
</li>

现在我想写一些类似

的内容
page.find_by_id("2").has_text?("2")

但它不能确定如何找到id =&#34; 2&#34; &安培; text =&#34; 2&#34;

我收到错误

Capybara::Ambiguous: Ambiguous match, found 2 elements matching id "2"

1 个答案:

答案 0 :(得分:1)

获取ID为“2”的最后一个链接:

page.all(:css, "a[id='2']").last()

获取ID为“2”的第一个链接和文本“Next”:

page.find(:xpath, "//a[@id='2'][text()='Next']")

要获得带有文本“下一步”的第一个链接:

page.find_link("Next")