web-dev-qa-db-fra.com

Capybara - Elément de clic par nom de classe

Pour ce qui semble être une question simple, je suis sur cette question depuis très longtemps et je n'arrive pas à trouver quoi que ce soit sur Google. J'ai ce bouton je dois cliquer qui n'a pas d'identifiant mais une classe est incluse

<button class="filter-case-studies" onclick="initBootpag(filterForContentType('CASE STUDIES', searchHits))" type="button">
<b>CASE STUDIES</b>
(2)
</button>

J'ai essayé d'utiliser click_on qui, je le sais maintenant, ne concerne que les liens et les boutons, donc cela ne fonctionnera bien sûr pas. C'est ce que j'ai jusqu'ici:

When(/^I filter the results to only see case studies$/) do
  click_on('filter-case-studies')
end

J'ai aussi essayé page.find('filter-case-studies').click, cela aussi ne fonctionne pas.

page.find(:class, 'filter-case-studies').click transfère à: css, donc cela a également échoué pour moi.

Est-il impossible de cliquer sur un élément en fonction du nom de la classe dans Capybara?

Merci d'avance pour l'aide. 

7
King

La façon habituelle de le faire à Capybara est

find('button.filter-case-studies').click

Dans les versions relativement récentes de Capybara, vous devriez aussi pouvoir faire

click_on(class: 'filter-case-studies')
17
Thomas Walpole
0
António Ferreira