Как повторно использовать существующий каталог пользовательских данных в Selenium ChromeDriver? - PullRequest
0 голосов
/ 20 марта 2020

Я продолжаю терять данные сеанса браузера при попытке воссоздать новый ChromeDriver экземпляр. Мне удалось войти на веб-сайт GitHub перед вызовами driver.Quit().

Удивительно, но при повторном создании экземпляра нового драйвера с той же опцией user-data-dir я больше не захожу в систему.

Chrome параметры

var options = new ChromeOptions();
options.AddArgument($"--user-data-dir={dir}"); // D:\repos\selenium-playground\bin\debug\browser\data
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");

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 21 марта 2020

Я бы попытался сохранить куки после первого входа в систему, а затем использовать их со второй попытки. И я не думаю, что куки сохраняются в этом каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...