Как создать профиль Chrome программно?
Разработка, тестирование, промежуточная среда контролируются с помощью разных прокси-серверов в моей настройке. Я хочу script создать несколько профилей Chrome (иногда называемых "пользователь" или "человек" ) и подключиться к другому прокси-серверу для каждого из них. Наконец, я хочу поделиться этим script с коллегами, чтобы они имели доступ к точно такой же настройке.
Последнее может быть выполнено с помощью сценариев установки расширений, таких как Falcon Proxy или Прокси-помощник в профиль Chrome. Я хотел бы знать, как создать script различные профили.
Профиль - это папка внутри ~/.config/google-chrome
(Linux, ~/Library/Application Support/Google/Chrome
(Mac OS X) и %USERPROFILE%\AppData\Local\Google\Chrome\User Data
(Windows). Но как ее создать и инициализировать? Где я могу зарегистрировать новый профиль?
Ответы
Ответ 1
Создание пользователя
Следующий пример относится к Windows, но основная процедура должна быть одинаковой.
Сначала перейдите в папку UserData в вашей установке Chrome:
cd "%APPDATA%\..\Local\Google\Chrome\User Data"
Этот метод скопирует текущего пользователя в качестве шаблона для нового пользователя. Если новый пользователь должен быть пустым, вам необходимо удалить (CTRL + SHIFT + DEL
текущие данные браузера).
Теперь создайте нового пользователя:
mkdir NewUser && copy Default NewUser
Измените каталог на хромированную установку:
cd "C:\Program Files (x86)\Google\Chrome\Application"
Factory - Reset все пользовательские параметры:
chrome.exe --user-data-dir="..\User Data\NewUser" -first-run
где --user-data-dir
- путь (полный или относительный) к ранее созданному каталогу NewUser.
Работает как NewUser
Чтобы снова запустить хром с помощью этого профиля, просто запустите хром без флага -first-run
.
Ответ 2
Из этой документации я наконец нашел способ создать пользователя/человека, а не отдельный профиль. Разница особенно важна в Mac OS X, так как различные профили могут открываться одновременно с использованием одного и того же процесса Chrome.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --profile-directory="StagingEnv" --first-run
Единственным досадным фактом является то, что этот новый человек не наследует имя из каталога профиля. Вместо этого он всегда называется Person X
, где X - число приращений.
Мне нужно перейти в файл Local State
, чтобы изменить его.
grep -o '"StagingEnv":{[^}]*}' ~/Library/Application\ Support/Google/Chrome/Local\ State
"StagingEnv":{"active_time":1437709453.172762,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_6","background_apps":false,"is_ephemeral":false,"is_omitted_from_profile_list":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","name":"<b>Person 3</b>","user_name":""}
Этот файл переопределяется, когда Chrome завершает работу, поэтому мне нужно убить Chrome, изменить файл и снова запустить Chrome.