2013-10-08 13 views
8

Come faccio a fare clic sul link sottostante con il metodo click_link di Capybara?Come click_link senza testo?

<a data-method="delete" href="https://stackoverflow.com/users/sign_out" rel="nofollow"> 
    <span title="Sign out" class="glyphicon glyphicon-off"></span> 
</a> 

risposta

12

Si potrebbe individuare l'elemento tramite il suo attributo href:

page.click_link('', :href => '/users/sign_out') 

Si noti che il primo parametro del click_link è il link di testo, id o il nome. Usiamo '' dal momento che il testo è vuoto.

In alternativa, utilizzare il metodo find per trovare il collegamento utilizzando l'attributo href (o qualsiasi altro attributo) e quindi fare clic su di esso.

page.find(:css, 'a[href="https://stackoverflow.com/users/sign_out"]').click 
3

Aggiungi id a collegare e usare il suo id.

click_link('link_id') 

Maggiori informazioni here

0

Per le applicazioni che utilizzano JS è utile la seguente chiamata:

find(:css, 'a[href="https://stackoverflow.com/users/sign_out"]').trigger('click') 
Problemi correlati