Настройка прокси в Selenium на Python и Java
Selenium пускает браузер через прокси буквально несколькими строками, но для прокси с аутентификацией нужно расширение или вспомогательный сервис: Chrome не принимает USER:PASS в командной строке. Показываем надёжный паттерн.
Проблема авторизации в Selenium
Прописать в Selenium прокси без авторизации — дело одной строки: добавляете --proxy-server=http://host:3128 к опциям Chrome или заполняете объект Proxy в Selenium — и всё. Как только прокси начинает требовать логин и пароль, этот простой путь ломается: Chrome не принимает учётные данные прямо в строке, а в отличие от Puppeteer или Playwright, у Selenium нет встроенного хука authenticate(), чтобы ответить на вызов 407.
Надёжное решение, одинаковое для любого языка, — крошечное расширение Chrome, которое генерируется во время запуска, несёт ваши учётные данные и отвечает на запрос авторизации прокси через API webRequest. Оно работает в headless-режиме, не требует дополнительных служб и ведёт себя одинаково в Python и Java. С s4m вы нацеливаете расширение на proxy.s4m.online:3128 (HTTP) и свои USER:PASS. Контекст смотрите на странице прокси и в руководстве по авторизации; а если на время тестов хочется обойтись без авторизации, в бесплатном списке есть открытые прокси, которые можно сразу подставить во флаг командной строки.
Прокси с авторизацией через сгенерированное расширение
Этот помощник на Python пишет одноразовое расширение Chrome с вашими учётными данными и сразу его подгружает. Перед запуском подставьте свои USER:PASS.
import os, zipfile, tempfile
from selenium import webdriver
HOST, PORT, USER, PASS = "proxy.s4m.online", 3128, "USER", "PASS"
manifest = '{"version":"1.0.0","manifest_version":2,"name":"s4m-proxy",'\
'"permissions":["proxy","webRequest","webRequestBlocking","<all_urls>"],'\
'"background":{"scripts":["bg.js"]}}'
bg = ('var c={mode:"fixed_servers",rules:{singleProxy:'
'{scheme:"http",host:"%s",port:%d}}};'
'chrome.proxy.settings.set({value:c,scope:"regular"},function(){});'
'chrome.webRequest.onAuthRequired.addListener('
'function(d){return {authCredentials:{username:"%s",password:"%s"}};},'
'{urls:["<all_urls>"]},["blocking"]);') % (HOST, PORT, USER, PASS)
path = os.path.join(tempfile.mkdtemp(), "s4m_proxy.zip")
with zipfile.ZipFile(path, "w") as z:
z.writestr("manifest.json", manifest)
z.writestr("bg.js", bg)
opts = webdriver.ChromeOptions()
opts.add_extension(path)
driver = webdriver.Chrome(options=opts)
driver.get("https://api.ipify.org")
print("Exit IP:", driver.find_element("tag name", "body").text)
driver.quit()
# ----- Java (unauthenticated proxy) -----
// Proxy p = new Proxy();
// p.setHttpProxy("proxy.s4m.online:3128");
// ChromeOptions o = new ChromeOptions();
// o.setProxy(p);
// WebDriver driver = new ChromeDriver(o);Какой подход выбрать
Всё зависит от того, нужны ли прокси учётные данные.
Без авторизации? Хватит флага
Для прокси без авторизации просто добавьте --proxy-server=http://host:3128 к ChromeOptions или заполните объект Proxy в Selenium. Больше ничего не нужно.
С авторизацией? Генерируйте расширение
Для прокси с USER:PASS подложите крошечное расширение, сгенерированное на лету, которое отвечает на onAuthRequired. Оно работает в headless-режиме и одинаково ведёт себя в разных языках.
HTTP-эндпоинт для браузеров
Берите proxy.s4m.online:3128 (HTTP). SOCKS5 с авторизацией внутри браузера работает ненадёжно, так что SOCKS5 оставьте для CLI и библиотечных клиентов.
Держите расширение закрытым
Сгенерированное расширение хранит ваши учётные данные во временном файле. Пишите его в приватный временный каталог и убирайте после прогона.
Надёжность и честные ожидания
Selenium управляет настоящим браузером — это и его сила, и его цена: он тяжелее обычного HTTP-клиента, поэтому держите сессии осмысленными и закрывайте драйверы сразу. Если вам нужен только HTML, HTTP-клиент за прокси обойдётся намного дешевле — смотрите скрапинг на requests. Selenium берите тогда, когда нужны рендеринг JavaScript или настоящее взаимодействие пользователя.
Как всегда, прокси меняет ваш IP, а не фингерпринт. Прокси s4m — дата-центровые: идеальны для функциональных тестов, мониторинга и умеренного скрапинга, но на недружественных сайтах распознаются как дата-центровые. Когда логин или белый список ждут один стабильный адрес, добавьте выделенный персональный IP. Для новых проектов присмотритесь к Playwright: его родная авторизация прокси снимает всю историю с расширением. Проверяйте точки выхода инструментами и почитайте документацию API, чтобы автоматизировать ротацию учётных данных.
Ответы на вопросы
Почему нельзя вписать USER:PASS во флаг прокси Selenium?
Chrome игнорирует учётные данные во флаге --proxy-server и вместо этого показывает системное окно авторизации, на которое headless-браузер ответить не может. Надёжный выход — небольшое расширение Chrome, сгенерированное на лету, которое отвечает на onAuthRequired вашим логином и паролем.
Есть ли способ проще для прокси без авторизации?
Да. Без учётных данных достаточно добавить --proxy-server=http://host:3128 к ChromeOptions или заполнить объект Proxy в Selenium на Java. Расширение нужно только тогда, когда прокси требует USER:PASS.
Что брать с Selenium — SOCKS5 или HTTP?
Для браузеров берите HTTP-эндпоинт на порту 3128. SOCKS5 с авторизацией в браузере работает ненадёжно; SOCKS5 оставьте для командной строки и библиотечных клиентов.
С Playwright будет проще?
Часто да. Playwright принимает учётные данные прокси напрямую в своём объекте proxy, так что расширение не нужно вовсе. Но Selenium остаётся правильным выбором, если проект уже на нём построен.
Гоняйте браузеры через прокси
Дата-центровые прокси с авторизацией на proxy.s4m.online, готовые к Selenium через сгенерированное расширение. Оплата за трафик, плюс опция выделенного IP для стабильных логинов.
Эту страницу нашли по запросу
- настройка прокси в Selenium на Python и java
- что такое прокси для парсинга
- как избежать банов IP при скрапинге
- прокси для парсинга
- proxychains: как сцепить SOCKS5-прокси в цепочку
- список бесплатных прокси сравнение
- лучшие VPN-протоколы в 2026 году
- ip адрес для парсинга
- авторизация прокси
- скачать авторизация прокси
- свежий настройка прокси
- как проверить, рабочий ли прокси (с готовым скриптом)
- настройка прокси
- рабочий список бесплатных прокси
- openvpn для windows
- ip адрес для android
- ip адрес
Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.