1
votes

Comment trouver un xpath avec une chaîne contenue et d'autres non contenues dans le div? (Xpath ne contient pas)

i am currently using this xpath - *//*[text()[contains(.,'You are now ') and not[contains(.,'Virtual')]]*

It's not working for me , let me know what mistake i am doing here.

Any help will be appreciated ,

Thanks

0 commentaires

3 Réponses :


1
votes

Vous étiez proche. Essayez le xpath suivant .

//*[contains(.,'You are now') and not(contains(.,'Virtual'))]


5 commentaires

Cela a fonctionné en fait, mais pour être précis pour le texte: la bonne réponse pour moi est devenue //*[contains(.,'You are now ') et non (contains (.,' Virtual '))] / text ( )


Merci pour l'aide, a également voté pour la réponse @KunduK


Vous avez demandé le xpath que j'ai posté pour le sélénium. L'Xpath que vous avez posté avec / text () n'est pas pris en charge par le sélénium.


J'ai pu le trouver dans les outils de développement, la ligne / text () ne prend pas en charge le sélénium, votre Xpath est absolument correct par rapport au sélénium -Mon mauvais. Merci encore pour l'aide


@ k.sahni: Veuillez accepter la réponse si cela résout votre requête.



1
votes

Essayez une autre solution

//a[not(contains(text(), 'Virtual')) and contains(text(),'You are now')]

ou

//a[not(contains(text(), 'Virtual')) and contains(.,'You are now')]


1 commentaires

Cela me donne plusieurs résultats car il trouve tous les textes qui ne contiennent pas "Virtuel" et non le résultat exact que je voulais ... J'ai également posté la réponse



0
votes

vous pouvez peut-être utiliser: 1- utiliser la fonction "commence par".

/html/body/div[3]/div[2]/div[2]/div[2]/div[2]/div[2]/div[2]/div/div[4]/div[1]/div/div/div/div[1]/div/div/div/div[1]/div[2]/div[1]/form[1]/input[1]

2- utiliser la fonction "contient".

 div[contains(@id,'something')]

ou

3- use full xpath, cet id n'est pas nécessaire pour utiliser les attributs

div[starts-with(@id,'something')] 


2 commentaires

1) Commence par me donne également le texte virtuel dont je ne veux pas


2) Contains me donne les deux résultats, ce qui est exactement la question et 3) Ce n'est pas une bonne pratique d'utiliser xpath absolu car les div no peuvent changer et seront un problème à l'avenir ....