Href链接点击使用capybara

时间:2013-07-31 06:14:30

标签: xpath cucumber capybara capybara-webkit

如何使用capybara点击链接。我需要点击毕业链接

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

我使用了以下代码 .but显示错误消息未定义方法click

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

也使用了Xpath

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

它也无法正常工作

但我的问题是我的页面包含多个毕业链接。

所以使用page.all(:link,"Graduation") r eturns Ambiguous match, found 2 elements matching link "Graduation"

2 个答案:

答案 0 :(得分:10)

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

这意味着页面包含多个毕业文本链接。如果你想点击第一个你可以这样写的

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

它将点击第一个链接,然后单击第二个链接。您可以根据需要使用任何人。

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

我相信这对你有用

答案 1 :(得分:2)

首先尝试使用它而不使用page部分。我自己从来不需要它

然后你可以尝试找到与css的链接以获得确切的链接。

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