Maison > développement back-end > Tutoriel Python > Comment localiser des éléments par attribut de classe à l'aide de EC.presence_of_element_located de Selenium ?

Comment localiser des éléments par attribut de classe à l'aide de EC.presence_of_element_located de Selenium ?

Susan Sarandon
Libérer: 2024-12-25 16:20:11
original
876 Les gens l'ont consulté

How to Locate Elements by Class Attribute Using Selenium's EC.presence_of_element_located?

Comment utiliser EC.presence_of_element_located avec l'attribut de classe

Lorsque vous utilisez la méthode EC.presence_of_element_located de Selenium avec WebDriverWait, vous pouvez spécifier un élément à rechercher en son attribut de classe au lieu de son ID. Voici comment procéder :

Le code d'origine :

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.ID, "tabla_evolucion")))
Copier après la connexion

tente de retrouver un élément par son ID. Pour rechercher un élément par sa classe, remplacez "By.ID" par "By.CLASS" et fournissez le nom de la classe :

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.CLASS, "ng-binding ng-scope")))
Copier après la connexion

Remarque : Évitez d'utiliser présence_of_element_located pour les actions interactives. . Préférez plutôt visibilité_of_element_located ou element_to_be_clickable.

De plus :

  • L'utilisation de CSS_SELECTOR ou XPATH vous permet de combiner les attributs d'ID et de classe pour un élément plus précis location :
# CSS_SELECTOR
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located(
    (By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion")))

# XPATH
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located(
    (By.XPATH, "//*[@class='ng-binding ng-scope' and @id='tabla_evolucion']")))
Copier après la connexion
  • N'oubliez pas que les noms de classes composées ne sont pas autorisés dans By.class. Le code ci-dessus tente de trouver un élément avec les classes "ng-binding" et "ng-scope".

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal