Как использовать сохраненный пароль Chrome для реализации сценария автоматического входа в систему, чтобы мне не нужно было вводить простой текстовый пароль в сценарий? - PullRequest
2 голосов
/ 19 октября 2019

Пароли находятся в моем профиле Chrome по умолчанию, который я также использую для обычного просмотра. В Selenium я попробовал следующее

options.add_argument('user-data-dir=/Users/{user}/Library/Application Support/Google/Chrome/')

Но он жалуется

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir

Однако мне нужен браузер с открытым по умолчанию --user-data-dir, чтобы я мог регулярно просматривать страницы. Есть ли способ разрешить этот конфликт, например, есть ли у моего сеанса, открытого вручную, и сеанса, открытого Selenium, --user-data-dir? Или присоединить сеанс, открытый в Selenium, к моему сеансу, открытому вручную?

Если это невозможно, я мог бы пойти на один компромисс - позволить Selenium использовать другой --user-data-dir. В качестве единовременной работы я могу сначала позволить Chrome сохранить пароли для нескольких сайтов, которые мне нужны. Однако, кажется, что когда я использую другой --user-data-dir, открытый сеанс браузера больше не позволяет сохранять пароль.

Я также пробовал использовать инструмент TestCafe, но он также открывает профиль не по умолчанию.

1 Ответ

3 голосов
/ 21 октября 2019

TestCafe позволяет использовать текущий профиль Chrome для тестирования. Как указано в документации:

Если вам нужно запустить браузер с текущим профилем пользователя, это можно сделать, указав флаг: userProfile после псевдонима браузера.

Для получения подробной информации обратитесь к следующей статье: https://devexpress.github.io/testcafe/documentation/using-testcafe/common-concepts/browsers/user-profiles.html

Или вы можете использовать флаг --user-data-dir, чтобы указать каталог пользовательского профиля пользователя: testcafe "chrome --user-data-dir=<path>" test.js.

...