Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit Selenium WebDriver in Python effizient erkennen, wann eine Webseite (mit unendlichem Scrollen) vollständig geladen ist?

Wie kann ich mit Selenium WebDriver in Python effizient erkennen, wann eine Webseite (mit unendlichem Scrollen) vollständig geladen ist?

DDD
Freigeben: 2024-12-16 20:28:15
Original
134 Leute haben es durchsucht

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

So warten Sie mit Selenium WebDriver für Python auf das Laden der Seite

Beim Scraping von Daten von Webseiten, die mit unendlichem Scrollen implementiert sind, ist es von entscheidender Bedeutung, Folgendes zu tun Erkennen Sie effizient, wann die Seite vollständig neue Inhalte geladen hat. In diesem Artikel wird ein zeiteffizienterer Ansatz im Vergleich zum Warten eines festen Zeitintervalls nach jedem Scrollen untersucht.

Standardmechanismus zum Laden von Seiten

Standardmäßig ist die .get-Datei des Selenium WebDriver ()-Methode wartet darauf, dass die Seite vollständig geladen ist. Dies berücksichtigt jedoch nicht das Laden innerhalb von Frames oder über AJAX-Anfragen.

Verwenden von WebDriverWait for Specific Elements

Um darauf zu warten, dass ein bestimmtes Element auf dem verfügbar wird Seite, verwenden Sie WebDriverWait() mit erwarteten_Bedingungen. Zum Beispiel:

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!")
Nach dem Login kopieren

Überlegungen

Beachten Sie, dass WebDriverWait nur darauf wartet, dass das angegebene Element oder die angegebene Bedingung wahr wird. Wenn Sie auf zusätzliche Elemente oder Bedingungen warten, müssen Sie möglicherweise benutzerdefinierten Code verwenden, um den Abschluss des Seitenladevorgangs zu erkennen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Selenium WebDriver in Python effizient erkennen, wann eine Webseite (mit unendlichem Scrollen) vollständig geladen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage