Автоматизация браузера Camoufox: запуск и подключение
Camoufox - это модифицированный браузер Firefox, оптимизированный для веб-скрапинга и обхода систем обнаружения ботов. Для его эффективного использования требуется корректная настройка процесса запуска и последующего подключения.
1. Запуск серверов и браузеров через Python/Playwright
Исходный скрипт на Python запускает несколько экземпляров Camoufox на разных портах. Каждый экземпляр работает в отдельном потоке и доступен через WebSocket.
- Для каждого конфигурационного набора (порт, путь, имя) создаются два потока: один для сервера, другой для автоматизации браузера.
- Сервер запускается на указанном порту (например, 2525).
- URL для подключения к браузеру формируется по шаблону:
ws://localhost:{port}/{path}(например,ws://localhost:2525/browser2525). - Запуск серверов и браузеров происходит с задержками, указанными в конфигурации, для стабильности.
2. Ручная аутентификация и долгосрочная сессия
После запуска в браузере Camoufox вручную выполняется вход в аккаунты (например, Google и Midjourney). Ключевое требование - браузер должен оставаться активным продолжительное время, чтобы другие скрипты могли подключаться к уже аутентифицированной сессии и работать в её контексте.
3. Проблема подключения стороннего скрипта
Второй скрипт пытается подключиться к работающему экземпляру браузера, используя тот же WebSocket URL (например, ws://localhost:2525/browser2525).
- Сначала проверяется доступность порта Camoufox.
- Затем выполняется попытка подключения через
playwright.firefox.connect().
Однако возникает проблема: вместо подключения к существующему браузеру с сохранённым контекстом (логинами, cookies), Playwright запускает новый, чистый экземпляр. Это приводит к потере аутентифицированной сессии и делает невозможным выполнение задач, требующих сохранения состояния.
Для успешной автоматизации необходимо обеспечить стабильное подключение именно к уже запущенному и настроенному экземпляру Camoufox, а не создание новой изолированной сессии.