如何在升级到Capybara2.0之后单击项目列表中的第一个链接?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

在这种情况下如何点击第一个链接:

<div class="item">
  <a href="/agree/">Agree</a>
</div>
<div class="item">
  <a href="/agree/">Agree</a>
</div>
within ".item" do
  first(:link, "Agree").click
end

我得到这个错误:

Capybara::Ambiguous:
  Ambiguous match, found 2 elements matching css ".item"

没有within我得到这个错误:

Failure/Error: first(:link, "Agree").click
NoMethodError:
  undefined method `click' for nil:NilClass
提问于
用户回答回答于

你可以使用:

first('.item').click_link('Agree')

要么

first('.item > a').click

(如果您的默认选择器是:css)

你的问题中的代码不起作用:

within ".item" do
  first(:link, "Agree").click
end

相当于:

find('.item').first(:link, "Agree").click

扫码关注云+社区