Maison  >  Article  >  développement back-end  >  Comment récupérer du texte à partir d'éléments HTML modifiés dynamiquement dans Selenium WebDriver ?

Comment récupérer du texte à partir d'éléments HTML modifiés dynamiquement dans Selenium WebDriver ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 04:36:031010parcourir

How to Retrieve Text from Dynamically Changing HTML Elements in Selenium WebDriver?

Accès aux éléments de texte avec Selenium WebDriver en Python

Dans l'automatisation Web à l'aide de Selenium WebDriver, la récupération du contenu textuel des éléments HTML est essentielle. Cependant, des problèmes peuvent survenir lorsque l'ID de l'élément change dynamiquement lors du rechargement de la page, comme dans le cas présenté.

Le code d'origine

Le code d'origine fourni :

text = driver.find_element_by_class_name("current-stage").getText("my text")

tente de localiser un élément par nom de classe « étape actuelle » et d'extraire son texte, qui devrait être « mon texte ».

La structure HTML

La structure HTML fournie montre l'élément de texte avec un nom de classe "current-text" et un ID dynamique, comme suit :

<span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span>

Le problème

Le problème avec le code original n'est pas lié à XPath mais plutôt à une mauvaise utilisation de la méthode getText. Passer un argument à getText tente de définir le texte de l'élément, pas de le récupérer.

L'approche correcte

L'approche correcte pour extraire le texte de l'élément est pour utiliser getText sans aucun argument, comme suit :

text = driver.find_element_by_class_name("current-stage").getText()

Ce code récupérera le contenu textuel de l'élément et le stockera dans la variable texte.

Vérification du résultat

Au lieu de transmettre le texte attendu à la méthode getText, vous pouvez ensuite vérifier le texte récupéré à l'aide de la méthode assertEqual, comme suit :

expected_text = "my text"
actual_text = driver.find_element_by_class_name("current-stage").getText()
self.assertEqual(expected_text, actual_text)

Cette approche garantit que le texte récupéré correspond à la valeur attendue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn