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
Susan Sarandonoriginal
2024-12-25 16:20:11813parcourir

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")))

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")))

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']")))
  • 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:
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