2009-10-11 5 views
0

Je trouve parfois que la valeur = "" est manquante. Je reviens donc à l'interrogation du texte intérieur normalisé.Xpath: Sélectionner la case à cocher et la radio via son texte interne ... est-ce que mon Xpath est correct?

<label><input type="radio" name="addThree">A Radio</label> 

<label><input type="checkbox" name="hasPic"> A Checkbox </label> 

Voici les xpath de respectivement ... Est-ce correct?

//label/input[normalize-space(text()) = "A Radio"] 
//label/input[normalize-space(text()) = "A Checkbox"] 

Répondre

2

Cela devrait fonctionner dans ce cas, mais ce n'est pas la meilleure solution; mieux omettre le paramètre à normaliser-espace (qui le rend alors équivalent à . qui est la concaténation de tout le contenu textuel de l'élément d'entrée). L'utiliser comme vous l'avez fait peut causer des problèmes s'il y a plusieurs nœuds de texte dans l'élément d'entrée, ce qui peut arriver si vous avez aussi des commentaires ou des instructions de traitement à l'intérieur.

Questions connexes