Comment écrire une requête XPath pour faire correspondre deux attributs?

143

Question suivante:

<div id="id-74385" class="guest clearfix" style="z-index: 999;">

Donnée ci-dessus,

Si je veux une expression XPath avec des vérifications à la fois de l'id et de la classe, pouvons-nous le faire avec 'et' condition LIKE:

//div[@id='id-74385'] and div[@class='guest clearfix']

Est-ce la bonne façon? Mon exécution échoue ici ... Aidez-moi!

Shola
la source

Réponses:

211
//div[@id='..' and @class='...]

devrait faire l'affaire. C'est la sélection des divopérateurs qui ont les deux attributs de la valeur requise.

Cela vaut la peine d'utiliser l'un des bancs de test XPath en ligne pour essayer des choses.

Brian Agnew
la source
99

ou //div[@id='id-74385'][@class='guest clearfix']

zhangyangyu
la source
22

Ajout à la réponse de Brian Agnew.

Vous pouvez également faire //div[@id='..' or @class='...]et vous pouvez avoir des expressions entre parenthèses à l'intérieur //div[@id='..' and (@class='a' or @class='b')].

CodeMonkey
la source