Pregunta

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"

¿Fue útil?

Solución

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

Otros consejos

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top