2013-07-31 23 views
7

Come posso fare clic su un collegamento mediante capybara.I necessario fare clic sul collegamento laurealink href clic utilizzando capibara

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

ho usato seguente codice .ma che mostra messaggio di errore metodo non definito click

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

utilizzato anche Xpath

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

non è anche wo rking

Ma il mio problema è la mia pagina contiene più link di laurea.

in modo da utilizzare page.all(:link,"Graduation") r eturns Ambiguous match, found 2 elements matching link "Graduation"

+0

Look at this - http://stackoverflow.com/questions/14513377/how-to-click-first-link-in-list-of-items -Dopo-aggiornamento-a-capibara-2-0/14517076 # 14517076 –

risposta

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

Ciò significa che la pagina contiene più testo laurea link.so se si vuole fare clic sul primo quello che si può scrivere come questo

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

Sarà fare clic sul primo link e quello in basso fai clic sul secondo link. Puoi utilizzare chiunque come te.

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

sono sicuro che questo funzionerà per voi

2

provare a usare senza la parte page. Non ne ho mai avuto bisogno io stesso

Quindi puoi provare a trovare il collegamento con il css per il link esatto.

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