Im Bereich der Webautomatisierung gilt Selenium Webdriver als vertrauenswürdiges Tool für die Navigation und Interaktion mit Webseiten. Eine häufige Herausforderung bei der Automatisierung von Aufgaben besteht darin, auf einer Webseite nach unten zu scrollen, um auf zusätzliche Inhalte zuzugreifen. Dieser Artikel befasst sich mit den verschiedenen Ansätzen zum Herunterscrollen mit Selenium Webdriver in Python.
Um zu einer bestimmten Höhe auf der Seite zu scrollen, verwenden Sie die folgende Syntax:
driver.execute_script("window.scrollTo(0, Y)")
wobei Y die gewünschte Höhe in Pixel darstellt. Um beispielsweise auf eine Höhe von 1080 Pixel (die Höhe eines Full-HD-Monitors) nach unten zu scrollen, würden Sie Folgendes verwenden:
driver.execute_script("window.scrollTo(0, 1080)")
Um Scrollen Sie ganz nach unten auf der Seite und führen Sie den folgenden Code aus:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Dieser Befehl stellt sicher, dass Sie das Ende der Seite erreichen, unabhängig vom tatsächlichen Ende Höhe.
Für Webseiten, die unendliches Scrollen verwenden (z. B. Social-Media-Feeds), müssen Sie einen benutzerdefinierten Scroll-Mechanismus implementieren:
SCROLL_PAUSE_TIME = 0.5 # Get the initial scroll height last_height = driver.execute_script("return document.body.scrollHeight") while True: # Scroll down to the bottom driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # Allow time for the page to load time.sleep(SCROLL_PAUSE_TIME) # Calculate the new scroll height and compare it with the previous one new_height = driver.execute_script("return document.body.scrollHeight") if new_height == last_height: break last_height = new_height
Wenn Sie möchten, können Sie ein Element auf der Seite auswählen und dorthin scrollen direkt:
label = driver.find_element_by_css_selector("body") label.send_keys(Keys.PAGE_DOWN)
Durch Auswahl eines Elements und Senden des Befehls Keys.PAGE_DOWN wird die Seite um eine Seite nach unten gescrollt.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Selenium Webdriver in Python durch eine Webseite scrollen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!