Интеграция CapMonster Cloud с ZennoBrowser: плагин для автоматической установки пользовательского API-ключа

vicos

Client
Регистрация
06.02.2017
Сообщения
156
Благодарностей
465
Баллы
63
138756


В этой статье я хочу поделиться собственными наработками по настройке профилей ZennoBrowser для стабильной и корректной совместной работы с расширением CapMonster Cloud.
Материал основан на практическом опыте и реальных сценариях автоматизации, а не на теоретических рекомендациях.
Большинство пользователей ZennoBrowser уже неоднократно сталкивались с созданием профилей с пользовательскими параметрами, чаще всего — методом клонирования. Этот подход давно стал стандартным: мы подготавливаем один корректно настроенный профиль и в дальнейшем используем его как донор для создания новых экземпляров.
Сам процесс выглядит достаточно просто. Создаётся базовый профиль с нужными отпечатками браузера, настройками окружения и параметрами поведения, после чего он клонируется под конкретные задачи. Такой подход экономит время и снижает количество ошибок при массовой работе с профилями.
С недавнего времени в ZennoBrowser появилась дополнительная возможность — использование пресетов, которые позволяют автоматически подключать различные расширения на этапе создания профиля. В их числе — и расширение CapMonster Cloud, широко используемое для работы с CAPTCHA в автоматизированных сценариях.
На первый взгляд это решение значительно упрощает подготовку профилей и позволяет быстрее переводить их в рабочее состояние без ручной установки и настройки расширений. Однако на практике всё оказывается не так однозначно.

1. Суть проблемы.
При использовании классического подхода с клонированием профилей ZennoBrowser многие сталкиваются с одной и той же проблемой:
API-ключ CapMonster Cloud не переносится в клонированный профиль.
На практике это выглядит так: донорский профиль корректно настроен, расширение CapMonster Cloud установлено и работает, API-ключ прописан и успешно используется. Однако после клонирования нового профиля расширение присутствует, но API-ключ в нём отсутствует.

138751



2. Решение.

Для решения описанной выше проблемы я реализовал небольшой шаблон, который берёт на себя весь процесс подготовки профиля.

138754


Логика работы шаблона следующая:
он создаёт новый профиль ZennoBrowser на основе донорского, полностью сохраняя все его параметры и пользовательские настройки, а затем автоматически добавляет API-ключ в расширение CapMonster Cloud уже на этапе подготовки профиля.
Ключевой момент заключается в том, что настройки расширения CapMonster Cloud не доступны напрямую через стандартные параметры профиля, так как они реализованы в виде popup-интерфейса самого расширения. Именно это и становится причиной того, что API-ключ не наследуется при обычном клонировании профилей.
Чтобы обойти это ограничение, в шаблоне используется простой, но эффективный подход.
После создания профиля я открываю popup расширения CapMonster Cloud в обычной вкладке браузера, что позволяет работать с ним как с обычной веб-страницей. Далее шаблон программно вводит API-ключ в соответствующее поле и сохраняет настройки.
Фактически, это решение устраняет основной недостаток клонирования профилей и позволяет получить полностью готовый к работе профиль без необходимости ручной донастройки.
С технической точки зрения решение получилось достаточно простым, но при этом надёжным и легко масштабируемым, что особенно важно при работе с большим количеством профилей.

3. Плагин.

Чтобы максимально упростить работу и убрать необходимость каждый раз использовать отдельный шаблон, я оформил данное решение в виде полноценного плагина.

138755


Плагин берёт на себя всю рутинную часть процесса и сводит настройку профилей к минимальному набору действий. Для начала работы достаточно указать всего два параметра:
ID донорского профиля ZennoBrowser
, на основе которого будут создаваться новые профили;
API-ключ CapMonster Cloud, который необходимо автоматически прописать в расширение.
После этого плагин выполняет весь процесс автоматически:
  • клонирует профиль, полностью сохраняя все параметры донора;
  • подключает предустановленный пресет с расширением CapMonster Cloud;
  • открывает интерфейс расширения и вносит API-ключ;
  • сохраняет настройки и возвращает профиль в полностью готовое к работе состояние.
В результате пользователь получает корректно подготовленные профили, в которых:
  • сохранены все антидетект-настройки,
  • расширение CapMonster Cloud уже установлено,
  • API-ключ прописан и активен, и профиль можно сразу использовать в автоматизации без дополнительных действий.
Такой подход особенно удобен при массовой работе с профилями, где ручная настройка каждого экземпляра не только отнимает время, но и повышает вероятность ошибок.
Фактически, плагин превращает сложный многошаговый процесс в одну простую операцию, делая работу с ZennoBrowser и CapMonster Cloud более предсказуемой, стабильной и масштабируемой.
Надеюсь, что мой опыт и предложенное решение окажутся полезными для сообщества и помогут упростить работу с профилями ZennoBrowser при использовании расширения CapMonster Cloud.

 

Вложения

Последнее редактирование модератором:

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 550
Благодарностей
620
Баллы
113
Буквально вчера сделал похожее решение, но через консольное приложение, которое скачивает последнюю версию CapMonsterCloud и патчит manifest.json предустанавливая указанный API-ключ и не нарушая целостность crx-контейнера. Расширение сразу уже готово к работе без необходимости клацать его в ZennoPoster. Может кому тоже будет полезно.
 

Вложения

  • Спасибо
Реакции: code и Rock1e

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)