J'ai un peu un problème, im essayant de sélectionner un bouton radio dans un ensemble de données-tables de données. Im capable de filtrer la ligne de données sur une seule table à un seul il est le seul qui apparaît sur la page ... mais j'ai essayé page.choose
, page.find(<xpath>)
, page.find(<css>)
, j'ai aussi essayé de faire tout le précédent dans une certaine sélection de css et je n'arrive pas à comprendre ce qu'il me reste à essayer.Capybara incapable de sélectionner le bouton radio dans les tableaux de données
Le code HTML est pertinent ici, malheureusement comme cela est un élément de travail que je ne peux pas poster tout. Cependant, je suis capable de cliquer sur l'étiquette si je spécifie l'ID via:
find(:xpath, "//label[@for='approve_row_5']").click
Cependant, cela ne semble pas réellement «sélectionner» le bouton radio. J'ai aussi essayé de faire une attente après je filtre la table de données Les résultats
de toute façon, voici le code HTML pour les 2 boutons radio après la ligne a été filtrée (les boutons radio résident dans une colonne)
<td class=" align-middle">
<div class="radio">
<input type="radio" name="approve_deny_row_5" id="approve_deny_row_5_approve" value="person_approve" data-ui-verify-key="test_approve" data-ui-verify-title="2017-07-13 14:59:46 -0400">
<label for="approve_deny_row_5_approve">
<span>Approve</span>
</label>
</div>
<div class="radio">
<input type="radio" name="approve_deny_row_5" id="approve_deny_row_5_deny" value="person_deny" data-ui-verify-key="test_deny" data-ui-verify-title="2017-07-13 14:59:46 -0400" data-ui-verify-url="/irrelevant/stuff">
<label for="approve_deny_row_5_deny">
<span>Deny</span>
</label>
</div>
</td>
Je pensais juste de trouver l'étendue par le texte et en cliquant dessus, ce qui passe .... mais ne sélectionne pas réellement le bouton radio. Aussi j'essayé la recherche par le sélecteur de valeur spécifique et par une find('input[value="test_approve"]').click
mais pas eu de chance non plus
Toutes les idées?
Il n'y a pas 'élément input' avec attribut' de value' qui est égale à ' "test_approve"', mais 'value = "person_approve"' au moins prévu morceau de 'html'. Avez-vous essayé 'find ('input [value =" person_approve "]'). Click' ou' find ('input [données-ui-verify-key = "test_approve"]'). Click'? – Andersson
En supposant que les 'éléments input' sont effectivement visibles sur la page, puis' choisir (« approve_deny_row_5_approve ») 'et' choisir (« approve_deny_row_5_deny ») 'doit choisir l'un ou l'autre bouton radio (Comme cela devrait' choisir (« approuver ») ' et 'choose (" Deny ") tant que vous êtes dans la rangée) - quelle erreur produisent-ils exactement? –
@Andersson qui était juste un mis-type, j'ai changé certaines valeurs et j'ai oublié de changer cela. @ThomasWalpole Malheureusement, choisir ('Approuver') ne fonctionne pas et aura pour résultat 'Capybara :: ElementNotFound: Impossible de trouver le bouton radio" Approuver "' va de même pour l'utilisation de l'ID. C'est peut-être un problème de portée, car j'utilise un filtre ailleurs dans la page à l'avance (qui est un formulaire texte). – msmith1114