如何在Selenium ChromeDriver中重用现有的用户数据目录



在尝试重新创建新的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保存在这个目录中。

相关内容

  • 没有找到相关文章

最新更新