Maison >développement back-end >Tutoriel Python >Pourquoi ma méthode Selenium getText() génère-t-elle une erreur lors de l'utilisation d'un localisateur de nom de classe ?
Problème :
Lors de la tentative de récupération de texte à partir d'un élément Web en utilisant la méthode getText() de Selenium WebDriver, vous recevez une erreur lors de l'utilisation d'un localisateur de nom de classe. L'erreur provient d'un identifiant dynamique qui change lors du rechargement de la page Web, ce qui rend le localisateur By.CLASS_NAME peu fiable.
Extrait HTML :
<code class="html"><span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span></code>
Code Python :
<code class="python">text = driver.find_element_by_class_name("current-stage").getText("my text")</code>
Solution :
Pour résoudre ce problème, simplifiez votre code en supprimant l'argument getText("mon texte") superflu :
<code class="python">text = driver.find_element_by_class_name("current-stage").text</code>
Explication :
La méthode getText() renvoie le contenu textuel de l'élément Web spécifié. Dans ce cas, le localisateur de nom de classe identifie l'élément correct et l'attribut text récupère son contenu textuel. Tenter de spécifier le texte attendu comme deuxième argument de getText() est inutile et peut prêter à confusion.
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!