Maison >développement back-end >Tutoriel Python >Comment puis-je dormir avec précision dans Selenium WebDriver à l'aide de Python et quelles sont les meilleures alternatives à « time.sleep() » ?

Comment puis-je dormir avec précision dans Selenium WebDriver à l'aide de Python et quelles sont les meilleures alternatives à « time.sleep() » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 22:21:29180parcourir

How Can I Precisely Sleep in Selenium WebDriver Using Python, and What Are Better Alternatives to `time.sleep()`?

Mise en veille de Selenium WebDriver en Python pendant des millisecondes

Bien que la bibliothèque de temps fournisse time.sleep(sec) pour suspendre l'exécution, pour atteindre une précision de 250 millisecondes, il faut spécifier un nombre fractionnaire de secondes :

import time
time.sleep(0.25) # Sleep for 250 milliseconds

Cependant, une utilisation excessive de time.sleep(sec) est déconseillé dans l'automatisation de Selenium WebDriver, car cela peut nuire à l'efficacité.

Alternatives à time.sleep()

Au lieu de cela, envisagez d'utiliser WebDriverWait() en conjonction avec Expected_conditions( ). Trois conditions couramment utilisées incluent :

presence_of_element_located :

  • Vise à localiser un élément sur le DOM, quelle que soit la visibilité ou interactivité.

visibility_of_element_located :

  • Vérifie si un élément est présent, visible et a une hauteur non nulle et largeur.

element_to_be_clickable :

  • Garantit qu'un élément est visible, activé et interactif, ce qui permet des clics.

Comment utiliser WebDriverWait()

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "my_button")))

Cet exemple attend pendant 10 secondes maximum pour que l'élément portant l'ID « my_button » devienne cliquable avant de continuer.

Référence

  • [WebDriverWait ne fonctionne pas comme prévu](https://stackoverflow. com/questions/39294435/webdriverwait-not-working-as-expected)

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