Seleniums standardmäßige Wartezeit beim vollständigen Laden einer Seite überwinden
Das Standardverhalten von Selenium besteht darin, zu warten, bis eine Seite vollständig geladen ist, bevor fortgefahren wird. Dies kann problematisch sein, wenn langsame oder nicht reagierende Skripte auftreten, insbesondere beim Scraping oder Automatisieren von Aufgaben. Hier ist eine Lösung, um die Wartezeit zu begrenzen und das Laden von AJAX-Dateien zu umgehen:
PageLoadStrategy konfigurieren
Selenium bietet die Möglichkeit, die Seitenladestrategie mithilfe des pageLoadStrategy-Parameters anzupassen. Es werden drei Werte unterstützt:
Implementierung
Um pageLoadStrategy zu konfigurieren, verwenden Sie die DesiredCapabilities-Klasse:
Python (Firefox)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().FIREFOX caps["pageLoadStrategy"] = "eager" driver = webdriver.Firefox(desired_capabilities=caps)
Python (Chrome)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities caps = DesiredCapabilities().CHROME caps["pageLoadStrategy"] = "eager" driver = webdriver.Chrome(desired_capabilities=caps)
Hinweis: Die Eager-Seitenladestrategie wird von ChromeDriver noch nicht vollständig unterstützt. Sie können dieses Problem jedoch beheben, indem Sie PhantomJS oder Firefox konfigurieren.
Indem Sie pageLoadStrategy auf „eifrig“ setzen, wartet Selenium nur darauf, dass die Seite reagiert, wodurch Verzögerungen durch langsame Skripte vermieden werden. Dies ermöglicht eine schnellere Ausführung Ihrer Skripte und eine reibungslosere Automatisierung, ohne die Stabilität des Browsers zu beeinträchtigen.
Das obige ist der detaillierte Inhalt vonWie kann man Selenium-Skripte schneller machen, indem man die Wartezeit beim Laden der Seite begrenzt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!