К содержимому

Selenium прокси с авторизацией: логин и пароль в Chrome без расширений

Chrome игнорирует логин и пароль в настройках прокси. Обработчик BiDi в Selenium сам ответит на запрос пароля от прокси.

Почему прокси в Selenium требует ещё одного шага

Grid и CI отправляют все сессии браузера с IP самой машины. Сессий становится много — и сайт ограничивает этот адрес ответом HTTP 429 Too Many Requests, а тесты, зависящие от геолокации, видят только страну, где стоит раннер.

Selenium задаёт прокси через опции браузера, но Chrome берёт из них только хост и порт: логин и пароль в настройках прокси он не использует, а для SOCKS5 не поддерживает ни одного способа авторизации. Значит, кто-то должен ответить на запрос 407 от прокси.

В Selenium это уже встроено: при включённом WebDriver BiDi вызов driver.network.add_auth_handler(логин, пароль) отвечает на запросы авторизации — в нашей проверке и на запрос прокси тоже. С ChromeDriver 153 нашлась особенность: классический driver.get(), отправленный, пока прокси ждёт пароль, зависал; навигация через browsing_context.navigate работала, а следующие driver.get() уже шли с сохранёнными данными. Вторая особенность: прокси из options.proxy Selenium передаёт и Selenium Manager, а тот пытается скачать ChromeDriver через него без пароля, — поэтому в коде прокси задан флагом Chrome.

Рекомендуемая настройка для Selenium

Используйте клавиши со стрелками для горизонтальной прокрутки.

Рекомендуемая настройка для Selenium
КритерийВыборПочему
ПродуктСтатический прокси дата-центраСамый быстрый и дешёвый IP, не меняется весь срок — для регрессионных тестов, Grid и CI
Если сайт блокирует серверыРотационный резидентный, бюджетная линияРеальные домашние IP от US$1.50/ГБ, оплата за трафик
Сколько IPПо одному на параллельную сессию или узел GridСессии не делят адрес и лимит запросов
СтранаРынок, который покрывает тест; для дата-центра — США, Канада, Великобритания, Германия, Нидерланды, Япония, Корея или СингапурСтраницы, зависящие от геолокации, разные в разных странах
ПротоколHTTPChrome не авторизуется в SOCKS5
Где задать проксиФлаг --proxy-server в ChromeOptionsС options.proxy через прокси пойдёт и загрузка ChromeDriver в Selenium Manager — без пароля
АвторизацияОбработчик BiDi в SeleniumВстроен в Selenium 4: ничего не нужно ставить и поддерживать

Кнопка ниже открывает «Статические прокси дата-центра» со сценарием «ИИ и автоматизация». Перед оплатой выберите регион, срок, протокол и количество (до 100 IP за раз).

Какой прокси Proxy302 выбрать

Используйте клавиши со стрелками для горизонтальной прокрутки.

Какой прокси Proxy302 выбрать
КритерийСтатический ISPРотационный резидентныйДата-центр
Что вы получаетеВыделенный домашний IP, закреплённый за вами на весь срокРеальные домашние IP: ротация выходов или липкая сессия в выбранной стране или городеБыстрые фиксированные серверные IP, HTTP и SOCKS5
ЦенаЗа IP и срок — цена при оформленииБюджетная линия US$1.50/ГБ (US$1.35/ГБ в пакете 100 ГБ); премиум US$5.00/ГБЗа IP и срок — самый дешёвый IP
Лучше всего для SeleniumДолгие тесты со входом на одном IPТесты и парсинг сайтов, которые блокируют серверные IPРегрессионные прогоны, Grid и CI

Цены в долларах США. Пополните кошелёк один раз и оплачивайте из него любую линию. Автопродления нет — чтобы сохранить IP, продлите его в «Мои активы».

Настройка прокси для Selenium за 5 шагов

  1. Выберите регион и срок

    Кнопка ниже открывает «Статические прокси дата-центра» (За IP и срок) со сценарием «ИИ и автоматизация». В «Настройках подключения» выберите «Регион» и «Срок», в «Протокол» — HTTP, в «Количество» — число IP (по одному для каждой параллельной сессии, до 100 за раз) и нажмите «Проверить цену и создать».

  2. Скопируйте каждый IP

    В «Мои активы» кнопка «Копировать» даёт host:port:логин:пароль. Хост и порт — в PROXY_HOST и PROXY_PORT, логин и пароль — в PROXY_USER и PROXY_PASS.

  3. Задайте прокси и обработчик авторизации

    В ChromeOptions включите enable_bidi = True и добавьте аргумент --proxy-server=http://host:port — без логина и пароля. После запуска драйвера вызовите driver.network.add_auth_handler(логин, пароль).

  4. Откройте первую страницу через BiDi

    Первую страницу откройте через driver.browsing_context.navigate(context=driver.current_window_handle, url=..., wait="complete"), дальше работает обычный driver.get().

    Ожидаемый результат api.ipify.org показывает IP прокси, а не вашей машины.

  5. Запуск на Grid или в CI

    К прокси подключается браузер на той машине, где он запущен, поэтому узлу или раннеру нужен исходящий доступ к порту прокси. Каждой параллельной сессии — свой IP.

Прокси с логином и паролем в Selenium (Python)

Используйте клавиши со стрелками для горизонтальной прокрутки.

# pip install -U selenium   (Selenium Manager fetches a matching ChromeDriver)
import os
from selenium import webdriver
from selenium.webdriver.common.by import By

# From Proxy302 → My assets → Copy (host:port:user:password); use the HTTP endpoint
endpoint = f"{os.environ['PROXY_HOST']}:{os.environ['PROXY_PORT']}"

options = webdriver.ChromeOptions()
options.enable_bidi = True  # the auth handler below runs over WebDriver BiDi
# A Chrome flag, not options.proxy: Selenium Manager would fetch ChromeDriver through options.proxy, without the password
options.add_argument(f"--proxy-server=http://{endpoint}")

driver = webdriver.Chrome(options=options)
try:
    # Chrome ignores user:pass written into proxy settings, so answer the 407 challenge instead
    driver.network.add_auth_handler(os.environ["PROXY_USER"], os.environ["PROXY_PASS"])
    # Navigate over BiDi: a classic driver.get() can stall while the proxy challenge is pending
    driver.browsing_context.navigate(
        context=driver.current_window_handle,
        url="https://api.ipify.org?format=json",
        wait="complete",
    )
    print(driver.find_element(By.TAG_NAME, "body").text)  # the proxy's exit IP
finally:
    driver.quit()

Проверено 2026-10-18 на Selenium 4.41.0 и 4.51.0 с Chromium и ChromeDriver 153 через локальный прокси с паролем, для HTTP- и HTTPS-страницы: с верным паролем страница открылась, с неверным — нет, а при первом запуске Selenium Manager скачал ChromeDriver напрямую, не через прокси.

Быстрые решения

driver.get() зависает, потом «Timed out receiving message from renderer»

Проверьте Первая страница открывается классическим driver.get(), пока прокси ждёт пароль?

Решение Сначала зарегистрируйте add_auth_handler, первую страницу откройте через browsing_context.navigate(..., wait="complete"); следующие driver.get() используют сохранённые данные.

407 или прокси игнорируется

Проверьте enable_bidi включён до запуска драйвера? В --proxy-server не попали логин:пароль@?

Решение Включите options.enable_bidi = True, в --proxy-server оставьте только http://host:port, логин и пароль передайте в add_auth_handler.

«'WebDriver' object has no attribute 'network'»

Проверьте Какая версия Selenium установлена?

Решение Обновите: pip install -U selenium. Мы проверяли 4.41.0 и 4.51.0.

«Unable to obtain driver for chrome» при первом запуске

Проверьте Прокси задан через options.proxy? Тогда Selenium Manager пытается скачать ChromeDriver через него — без пароля.

Решение Задайте прокси флагом --proxy-server, как в коде выше, или укажите уже скачанный ChromeDriver через Service('путь/к/chromedriver').

Частые вопросы о прокси для Selenium

Как подключить в Selenium прокси с логином и паролем?

Передайте Chrome host:port прокси флагом --proxy-server в ChromeOptions, включите BiDi, вызовите driver.network.add_auth_handler(логин, пароль) и откройте первую страницу через browsing_context.navigate — ровно это делает код выше.

Почему логин:пароль@host:port в настройках прокси Chrome не работает?

Chrome не использует данные для входа из настроек прокси и не поддерживает авторизацию для SOCKS5.

Нужны ли Selenium Wire или расширение для прокси?

Нет. Обработчик авторизации — часть самого Selenium, поэтому не нужно ставить и поддерживать дополнительные пакеты или расширения.

Работает ли это на Selenium Grid?

Прокси применяет браузер на узле, значит, узлу нужен доступ к прокси. Мы проверяли обработчик на локальном ChromeDriver, не на Grid, — сначала прогоните одну сессию на своём Grid.

Почему флаг --proxy-server, а не options.proxy?

Selenium передаёт options.proxy и в Selenium Manager, а тот скачивает ChromeDriver через этот прокси — без пароля, поэтому первый запуск падает с 407. SE_PROXY не поможет: прокси из опций важнее. Флаг --proxy-server получает только Chrome, и драйвер скачивается напрямую.

Резидентные или дата-центр для Selenium?

Дата-центр — если сайт пускает серверные IP: быстрее и дешевле за IP. Ротационные резидентные — если сайт блокирует серверные IP или постоянно их проверяет.

Источники и проверка

9
  1. Документация Selenium: Browser options — proxy

    Официальная документация · Проверено:

  2. Chromium: поддержка прокси в Chrome

    Официальная документация · Проверено:

  3. Документация Selenium: WebDriver BiDi Network — обработчики авторизации

    Официальная документация · Проверено:

  4. Selenium Python API: Network.add_auth_handler

    Официальная документация · Проверено:

  5. Документация Selenium: Selenium Manager и прокси для загрузки драйверов

    Официальная документация · Проверено:

  6. MDN: 429 Too Many Requests

    Официальная документация · Проверено:

  7. Цены Proxy302

    Наблюдение за продуктом · Проверено:

    Цены ротационных резидентных прокси за ГБ — по странице цен и консоли (бюджетная линия US$1.50/ГБ, US$1.35/ГБ в пакете 100 ГБ; премиум US$5.00/ГБ; 1 PTC = US$1). Статические ISP и IP дата-центра считаются при оформлении за IP и срок.

  8. Консоль Proxy302 — Статические прокси дата-центра

    Наблюдение за продуктом · Проверено:

    Названия опций, способы оплаты и ограничения — по рабочей консоли на 2026-10-18: Линия (Премиум / Бюджетная), Режим выхода, Регион, Город, Протокол (HTTP / SOCKS5), Количество (1–500), Срок, Автопродление IP (пока недоступно), Мои активы → Копировать / Сменить IP / Продлить / Копировать для ИИ. Ротационные резидентные прокси подключаются через proxy.proxy302.com:2222 (HTTP) и :3333 (SOCKS5). По данным каталога на 2026-10-18 (только чтение) статические IP дата-центра продаются в 8 странах: США, Канада, Великобритания, Германия, Нидерланды, Япония, Корея, Сингапур.

  9. Проверка на локальном прокси-стенде

    Локальный пример · Проверено:

    Код запущен 2026-10-18 через локальный прокси с паролем (без верных данных отвечает 407) для HTTP-страницы и для HTTPS-страницы через туннель CONNECT; Selenium 4.41.0 и 4.51.0, Chromium и ChromeDriver 153.0.8010.12. С обработчиком авторизации и навигацией через BiDi страница открылась через прокси; с неверным паролем — нет. Классический driver.get(), отправленный, пока прокси ждёт пароль, зависал до таймаута загрузки страницы; после первой BiDi-навигации последующие driver.get() работали. С пустым кэшем Selenium Manager этот вариант скачал ChromeDriver напрямую и отработал; тот же скрипт с options.proxy упал, потому что Selenium Manager отправил загрузку через прокси без пароля.

    Локальная проверка подтверждает синтаксис и авторизацию, но не доступ к конкретному сайту, стране или платформе.

Готовы подключиться?

Создайте аккаунт, пополните баланс и выберите выход: ротируемый резидентский, статический ISP или дата-центр. Ротируемые резидентные — в 195+ странах и регионах.