Maison >développement back-end >Tutoriel Python >Comment puis-je suspendre Selenium WebDriver en Python pendant quelques millisecondes ?

Comment puis-je suspendre Selenium WebDriver en Python pendant quelques millisecondes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 21:17:11730parcourir

How Can I Pause Selenium WebDriver in Python for Milliseconds?

Mise en pause de Selenium WebDriver en Python pendant des millisecondes

En utilisant la fonction time.sleep de la bibliothèque temporelle, il est possible de suspendre l'exécution pendant une seconde. Cependant, pour faire une pause de 250 millisecondes, il existe deux approches :

1. Utilisation des secondes à virgule flottante

Pour spécifier les millisecondes, transmettez un nombre à virgule flottante comme argument :

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

2. Utilisation de WebDriverWait et des conditions attendues (recommandé)

Bien que l'utilisation de mises en veille basées sur le temps puisse aller à l'encontre de l'objectif de l'automatisation, une approche recommandée consiste à utiliser WebDriverWait en conjonction avec les conditions attendues pour valider l'état d'un élément en fonction de critères spécifiques.

Trois conditions attendues couramment utilisées are:

presence_of_element_located

Vérifie si un élément est présent sur le DOM, quelle que soit la visibilité ou l'interactivité.

visibility_of_element_located

Vérifie si un élément est présent et visible (hauteur et largeur supérieures à 0).

element_to_be_clickable

Vérifie si un élément est visible, activé et cliquable.

En utilisant ces conditions, vous pouvez éviter des retards inutiles tout en vous assurant que l'élément est prêt à interagir. Par exemple :

import selenium.webdriver as webdriver
from selenium.webdriver.support.ui import WebDriverWait
from expected_conditions import visibility_of_element_located

driver = webdriver.Firefox()
driver.get("https://www.example.com")

element = WebDriverWait(driver, 10).until(
    visibility_of_element_located((By.CSS_SELECTOR, "#my-element"))
)

Cela attend jusqu'à 10 secondes pour que l'élément portant l'ID "my-element" devienne visible avant de continuer.

Référence

Pour pour une discussion plus approfondie, reportez-vous à : WebDriverWait ne fonctionne pas comme prévu

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