Maison >développement back-end >Tutoriel Python >Comment Selenium peut-il attendre efficacement que les éléments soient présents, visibles et interactifs ?
Selenium : attendez que l'élément soit présent, visible et interactif
Dans Selenium, utiliser sleep() pour attendre qu'un élément apparaisse n'est pas souhaitable. L'API Selenium propose des mécanismes d'attente plus explicites, garantissant que vos tests sont fiables et robustes.
Attendre qu'un élément soit présent
Pour attendre qu'un élément soit présent présent dans le DOM, utilisez WebDriverWait et EC.presence_of_element_located() méthodes :
WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
Attendre qu'un élément soit visible
Pour attendre qu'un élément soit visible et que sa taille soit supérieure à 0, utilisez EC.visibility_of_element_located( ):
email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "element_css"))).get_attribute("value")
En attente d'un élément Cliquable
Pour attendre qu'un élément soit visible et activé, utilisez EC.element_to_be_clickable() :
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
Utilisation de l'attente explicite
Dans le navigateur, ces commandes d'attente suspendront l'exécution du test jusqu'à ce que la condition spécifiée soit remplie ou qu'un délai d'attente se produise. L'attente explicite offre plusieurs avantages :
Références :
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!