Je rencontre des difficultés pour obtenir un élément dynamique à partir d'un site Web, je reçois des informations de mon utilisateur qui est ensuite utilisé comme entrée dans un site Web, le nom de l'élément que je veux obtenir après les changements basés sur l'entrée que j'ai eu plus tôt. Par conséquent, la classe que je veux trouver a deux noms possibles, soit label label-succès ou label label-danger. En ce moment, c'est le code:Élément de recherche Python Selenium par xpath avec l'opérateur OU
for elem in browser.find_elements_by_xpath('.//span[@class = "label label success"]'):
print elem.text
Mais chaque fois que je reçois l'entrée de l'utilisateur qui modifie le nom de la classe à l'étiquette étiquette danger que je reçois ci-dessous erreur
StaleElementReferenceException: Message: { "errorMessag « Element ne existe pas dans le cache}
ma question est: est-il possible de faire quelque chose comme:
find_elements_by_xpath[@class = "label label-success" OR @class = "label label-danger"]
si oui comment? Ou existe-t-il une autre solution simple à ce problème? Merci
Quelle est l'erreur que vous obtenez? ce que vous suggérez est possible –
raise exception_class (message, écran, stacktrace) StaleElementReferenceException: Message: {"errorMessage": "L'élément n'existe pas dans le cache" – Dantuzzo
votre deuxième xpath est valide, l'erreur que vous obtenez n'a rien à voir avec xpath, j'ai signalé la solution pour l'erreur dans les réponses –