divz
divz

Reputation: 7957

Href link click using capybara

How can i click a link using capybara.I need to click the graduation link

<a href="/arts?Occasion=Graduation&amp;top_menu_item_title=+-+Graduation">Graduation</a>

I used following code .but showing error message undefined method click

 page.find(:link,"Graduation").click

also used Xpath

page.find(:xpath, "//a[@href='/arts?Occasion=Graduation']").click

it is also not working

But my problem is my page contains multiple links of graduation.

so using page.all(:link,"Graduation") returns Ambiguous match, found 2 elements matching link "Graduation"

Upvotes: 7

Views: 8530

Answers (2)

Psl
Psl

Reputation: 3920

page.all(:link,"Graduation") returns Ambiguous match, found 2 elements matching link "Graduation"

That means page contains multiple graduation text link.so if you want to click the first one you can write like this

  page.all(:link,"Graduation")[0].click

It will click the first link and the below one click the second link.You can use anyone as your needs.

  page.all(:link,"Graduation")[1].click

am sure this will work for you

Upvotes: 11

Martin Larsson
Martin Larsson

Reputation: 1068

First try using it without the page part. I've never needed it myself

Then you can try and find the link with the css for the exact link.

find("a[href='/arts?Occasion=Graduation&amp;top_menu_item_title=+-+Graduation']").click

Upvotes: 3

Related Questions