Maison > développement back-end > Tutoriel Python > Comment puis-je détecter efficacement lorsqu'une page Web (avec défilement infini) est entièrement chargée à l'aide de Selenium WebDriver en Python ?

Comment puis-je détecter efficacement lorsqu'une page Web (avec défilement infini) est entièrement chargée à l'aide de Selenium WebDriver en Python ?

DDD
Libérer: 2024-12-16 20:28:15
original
137 Les gens l'ont consulté

How Can I Efficiently Detect When a Web Page (with Infinite Scrolling) Has Fully Loaded Using Selenium WebDriver in Python?

Comment attendre le chargement d'une page à l'aide de Selenium WebDriver pour Python

Lors de la récupération de données de pages Web implémentées avec un défilement infini, il est crucial de détecter efficacement quand la page a entièrement chargé un nouveau contenu. Cet article explore une approche plus efficace en termes de temps par rapport à l'attente d'un intervalle de temps fixe après chaque défilement.

Mécanisme de chargement de page par défaut

Par défaut, le .get de Selenium WebDriver () attend que la page se charge complètement. Cependant, cela ne tient pas compte du chargement dans les frames ou via des requêtes AJAX.

Utilisation de WebDriverWait for Specific Elements

Pour attendre qu'un élément spécifique soit disponible sur le page, utilisez WebDriverWait() avec Expected_conditions. Par exemple :

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

delay = 3 # seconds
driver = webdriver.Firefox()
driver.get("url")
try:
    myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'id-of-element')))
    print("Page is ready!")
except TimeoutException:
    print("Loading took too much time!")
Copier après la connexion

Considérations

Notez que WebDriverWait attend uniquement que l'élément ou la condition spécifié devienne vrai. Si vous attendez des éléments ou des conditions supplémentaires, vous devrez peut-être utiliser un code personnalisé pour détecter la fin du chargement de la page.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal