在尝试重新创建新的ChromeDriver
实例时,我不断丢失浏览器的会话数据。我能够在调用driver.Quit()
之前登录GitHub网站。
令人惊讶的是,用相同的user-data-dir
选项重新创建新的驱动程序实例使我不再登录
Chrome选项
var options = new ChromeOptions();
options.AddArgument($"--user-data-dir={dir}"); // D:reposselenium-playgroundbindebugbrowserdata
options.AddArgument("--disable-extensions");
options.AddArgument("--disable-gpu");
options.AddArgument("--disable-notifications");
options.AddArgument("--ignore-certificate-errors");
options.AddArgument("--no-sandbox");
options.AddArgument("--disable-dev-shm-usage");
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);
options.AddExcludedArgument("enable-automation");
options.AddAdditionalCapability("useAutomationExtension", false);
Chrome驱动程序服务
var service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
创建ChromeDriver实例
我使用相同的选项&在对GitHub网站进行身份验证时提供服务。
var driver = ChromeDriver(service, options);
driver.Navigate().GoToUrl("https://github.com");
任何帮助都将不胜感激!
我会在第一次登录后尝试保存cookie,然后在第二次尝试时重用它们。我不认为cookie保存在这个目录中。