Как создать профиль 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.