Heim  >  Artikel  >  Backend-Entwicklung  >  Wie vermeide ich Wartezeiten beim vollständigen Laden einer Seite in Selenium mit langsam ladenden Skripten?

Wie vermeide ich Wartezeiten beim vollständigen Laden einer Seite in Selenium mit langsam ladenden Skripten?

Susan Sarandon
Susan SarandonOriginal
2024-11-12 18:00:03194Durchsuche

How to Avoid Full Page Load Waits in Selenium with Slow-loading Scripts?

Überwindung von Wartezeiten beim vollständigen Laden einer Seite in Selenium mit langsam ladenden Skripten

Das Standardverhalten von Selenium besteht darin, zu warten, bis eine Seite vollständig geladen ist, bevor fortgefahren wird mit Ausführung. Dies kann jedoch problematisch werden, wenn eine Seite langsam ladende JavaScript-Skripte enthält. Um längere Wartezeiten zu vermeiden, ist es wichtig, die pageLoadStrategy von Selenium zu konfigurieren.

Mit dem pageLoadStrategy-Parameter können Sie den gewünschten Grad des Seitenladens angeben:

  • normal: Vollständiges Laden der Seite (Standard)
  • eifrig: Interaktiv Laden der Seite (wenn der Benutzer mit Elementen interagieren kann, die Seite jedoch möglicherweise nicht vollständig geladen ist)
  • keine: Nicht auf das Laden der Seite warten (nützlich für dynamische Seiten)

Um unnötiges Warten zu begrenzen, setzen Sie die pageLoadStrategy auf „eager“ oder „none“:

Firefox:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().FIREFOX
caps["pageLoadStrategy"] = "eager"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path='path/to/geckodriver.exe')

Chrome:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "eager"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path='path/to/chromedriver.exe')

Hinweis: Während „eager“ empfohlen wird, befindet es sich in ChromeDriver noch in der Entwicklung. Weitere Informationen finden Sie in der Diskussion unter „Eager-Page-Load-Strategie-Workaround für Chromedriver Selenium in Python“.

Durch die Konfiguration der pageLoadStrategy können Sie verhindern, dass Selenium auf den Abschluss langsam ladender Skripte wartet, wodurch die Ausführung erheblich verbessert wird Geschwindigkeit Ihrer Skripte über verschiedene Browser-Implementierungen hinweg.

Das obige ist der detaillierte Inhalt vonWie vermeide ich Wartezeiten beim vollständigen Laden einer Seite in Selenium mit langsam ladenden Skripten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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