114 votes

Comment trouver un élément en faisant correspondre le texte exact de l'élément dans Capybara

J'ai les deux éléments suivants en HTML

<a href="http://stackoverflow.com/berlin" >Berlin</a>
<a href="http://stackoverflow.com/berlin" >Berlin Germany </a>

J'essaie de trouver l'élément en utilisant la méthode Capybara suivante

find("a", :text => "berlin")

L'exemple ci-dessus renverra deux éléments car les deux contiennent le texte berlin.

Existe-t-il un moyen de faire correspondre un texte exact dans Capybara ?

0 votes

Capybara ou nokogiri ? Pourquoi est-ce étiqueté les deux ?

5voto

Paweł Gościcki Points 2679

Ma préférence va à l'utilisation du have_selector con text y exact_text: true :

expect(body).to have_selector 'a', text: 'Berlin', exact_text: true

0voto

Pour utiliser click_link dans capybara, vous devez ajouter une propriété supplémentaire dans la méthode qui l'utilise.

click_link(link_name, :text => link_name)

Ici, le nom_du_lien est la valeur du texte d'un lien. Utilisation de :texte Nous spécifions que nous voulons cliquer sur un lien dont la valeur du texte correspond exactement à notre demande.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X