How to click first link in list of items after upgrading to Capybara 2.0?
You can just use:
first('.item').click_link('Agree')
or
first('.item > a').click
(if your default selector is :css)
Code in your question doesn't work as:
within ".item" do first(:link, "Agree").clickend
is equivalent to:
find('.item').first(:link, "Agree").click
Capybara finds several .item
's so it raises an exception. I consider this behavior of Capybara 2 very good.
Try the following:
within ".item" do click_link("Agree", :match => :first)end
Sources: