--user-data-dir
Das Problem:
Seleniumbenutzer hängen häufig beim Laden von Chromprofilen mit --user-data-dir
und --profile-directory
auf. Der Browser friert häufig bis zu 60 Sekunden vor dem Timing ein und stört die Automatisierung.
Die Lösung: Vermeiden Sie das Standardprofil
Der Schlüssel besteht darin, das Standardchromprofil zu vermeiden. Erweiterungen, Lesezeichen und Browserverlauf im Standardprofil können mit Tests in Konflikt stehen und Fehler verursachen. Erstellen und verwenden Sie stattdessen ein dediziertes Profil.
Erstellen eines benutzerdefinierten Chromprofils:
chrome://settings/
). Verwenden von Chromeoptionen:
Sobald Sie Ihr benutzerdefiniertes Profil haben, verwenden Sie ChromeOptions
, um den Ort anzugeben:
ChromeOptions options = new ChromeOptions(); options.AddArgument($"--user-data-dir={profileDirectoryPath}"); // Use string interpolation for clarity options.AddArgument("--disable-extensions"); ChromeDriver driver = new ChromeDriver(@"pathtoexe", options);
Ersetzen Sie {profileDirectoryPath}
durch den tatsächlichen Pfad, den Sie in Schritt 5 oben gefunden haben. pathtoexe
sollte auf Ihren Chromedriver ausführen.
Vollständiges Beispiel:
Dieser Code zeigt ein benutzerdefiniertes Profil:
ChromeOptions options = new ChromeOptions(); options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data/Profile 2"); options.AddArgument("--disable-extensions"); ChromeDriver driver = new ChromeDriver(@"pathtoexe", options); driver.Navigate().GoToUrl("somesite");
erfolgreiche Testausführung:
Durch die Verwendung dieses benutzerdefinierten Profilansatzes sollte Chrome ohne Hang starten, sodass Ihre Selen -Tests reibungslos ausgeführt werden können. Denken Sie daran, Platzhalterpfade durch Ihre tatsächlichen Verzeichnispfade zu ersetzen.
Das obige ist der detaillierte Inhalt vonWie vermeide ich Probleme mit dem Aufhängen des Selenium Chrome-Profils mithilfe von „--user-data-dir'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!