如何使用capybara点击链接。我需要点击毕业链接
<a href="/arts?Occasion=Graduation&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"
答案 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&top_menu_item_title=+-+Graduation']").click