Selenium + прокси с логином: почему не работает стандартный способ
Chrome и Firefox не принимают авторизацию прокси напрямую через capabilities. Передача в формате http://user:pass@ip:port в --proxy-server не сработает — браузер проигнорирует креды или выдаст всплывающее окно, которое вы не закроете в headless.
Рабочие пути три:
— Браузерное расширение. Собираете CRX/XPI с фиксированными кредами, подкладываете через add_extension до старта драйвера. Главное — убедиться, что расширение отвечает на запрос авторизации до первого HTTP-запроса страницы.
— Локальный редиректор. Поднимаете на 127.0.0.1 tinyproxy или аналог, который авторизуется на вышестоящем прокси, а Selenium смотрит на локальный порт без авторизации. Надёжно, но требует отдельного процесса.
— IP-whitelist. Многие провайдеры позволяют привязать ваш сервер/VPS к прокси по IP. Тогда авторизация не нужна вообще — передаёте только адрес и порт.
Что важно: в headless-режиме Chrome расширения с Manifest V3 могут вести себя иначе, чем в обычном. Проверяйте поведение в том же режиме, в котором будете лить.
Если парсите или льёте через Selenium — не тратьте время на костыли с Alert. Расширение или whitelist решают проблему на уровне инфраструктуры, а не кода.
Compliance Stack — регуляторика для арбитражных команд
@compliance_stack
Selenium + прокси с логином: почему не работает стандартный способ
Этот пост опубликован в Telegram-канале Compliance Stack — регуляторика для арбитражных команд. Подписаться можно по ссылке: @compliance_stack.