Maison >développement back-end >Tutoriel Python >EC.presence_of_element_located de Selenium peut-il utiliser des sélecteurs de classe au lieu d'identifiants ?

EC.presence_of_element_located de Selenium peut-il utiliser des sélecteurs de classe au lieu d'identifiants ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-07 15:04:23968parcourir

Can Selenium's EC.presence_of_element_located Use Class Selectors Instead of IDs?

Pouvez-vous utiliser EC.presence_of_element_located de Selenium avec un sélecteur de classe au lieu d'un sélecteur d'ID ?

Vous essayez d'utiliser l'EC de Selenium. méthode présence_of_element_located pour attendre qu'un élément avec la classe ng-binding ng-scope devienne présent sur une page Web, mais cela ne fonctionne pas. Le message d'erreur que vous recevez est :

Message: invalid selector: Compound class names not permitted

Cette erreur se produit car EC.presence_of_element_located ne prend pas en charge l'utilisation de plusieurs noms de classe dans son sélecteur.

Solution

Pour attendre un élément avec une classe spécifique utilisant Selenium, vous pouvez utiliser le localisateur By.CLASS_NAME. Voici comment modifier votre code :

element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.CLASS_NAME, "ng-binding ng-scope")))

Ce code attendra qu'un élément avec la classe ng-binding ng-scope devienne visible sur la page.

Supplémentaire Notes

Dans certains cas, vous devrez peut-être également utiliser la méthode EC.visibility_of_element_located au lieu de EC.presence_of_element_located. Cette méthode attendra que l'élément devienne non seulement présent mais également visible sur la page.

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