Как использовать прокси с Undetected ChromeDriver в 2026 году
TL;DR
Прокси Undetected ChromeDriver должен быть настроен до того, как запустится Chrome. Самый надежный путь — это --proxy-server с IP-авторизованной или иначе неинтерактивной HTTP, HTTPS или SOCKS конечной точкой.
Undetected ChromeDriver не скрывает ваш IP. В его собственном описании проекта говорится, что пакет изменяет поведение Selenium ChromeDriver; маршрутизация сети остается отдельной ответственностью.
Chrome не принимает username:password@host:port надежно в --proxy-server. Обрабатывайте 407 вызов через проверенный процесс аутентификации CDP, управляемый локальный мост или IP-авторизацию со стороны провайдера.
Перезапустите браузер при изменении конечных точек прокси. Повторное использование драйвера после изменения ChromeOptions не перенаправляет существующий процесс Chrome.
Проверьте маршрут, статус страницы и ожидаемый контент отдельно. Страница может загружаться через предполагаемый прокси и все равно стать стеной входа, страницей согласия или мягкой ошибкой.
Что такое прокси Undetected ChromeDriver?
Прокси Undetected ChromeDriver — это прокси-конечная точка, прикрепленная к процессу Chrome, запущенному с помощью Python пакета undetected-chromedriver. Прокси изменяет сетевой маршрут браузера, в то время как пакет корректирует выбранные сигналы автоматизации браузера. Эти две функции являются взаимодополняющими, но независимыми.
Текущая страница пакета undetected-chromedriver указывает версию 3.5.5 и явно предупреждает, что пакет не скрывает IP-адрес и не гарантирует результаты. Эта граница важна: использование прокси undetected chromedriver не делает автоматизацию невидимой, не обходит контроль доступа и не заменяет разрешение на доступ к цели.
Попробуйте Nstproxy - Начните бесплатный тест сегодня
Для авторизованного локализационного QA, мониторинга публичных страниц и регрессионных тестов браузера стабильный маршрут от Nstproxy Residential Prime Proxies может удерживать сетевую идентичность отдельно от профиля браузера. Рассматривайте прокси, профиль браузера, куки и тестовую учетную запись как одну состояние сессии, когда важна непрерывность.
Как работает маршрутизация прокси в Undetected ChromeDriver
Маршрутизация прокси работает при запуске Chrome через аргумент командной строки или обработчик аутентификации на уровне браузера. Undetected ChromeDriver передает совместимые параметры Chrome браузеру; он не предоставляет отдельный высокоуровневый API прокси.
Требование
Рекомендуемый механизм
Операционная граница
HTTP или HTTPS прокси без интерактивного входа
--proxy-server=http://host:port
Настройка перед uc.Chrome()
SOCKS5 конечная точка
--proxy-server=socks5://host:port
Подтвердите, где разрешается DNS
Прокси с именем пользователя/паролем
Обработчик аутентификации CDP или поддерживаемый локальный мост
Тестируйте против точной версии Chrome
Разная конечная точка для каждой задачи
Новый драйвер для каждой конечной точки
Закрывайте каждый старый процесс корректно
Провайдерская ротация шлюза
Держите один шлюз и изменяйте его документированную политику сессий
Поведение ротации принадлежит провайдеру
Документация по конфигурации прокси Chromium объясняет, как Chrome сопоставляет правила прокси с URL-схемами. Документация по браузеру Chrome Selenium охватывает параметры Chrome и согласование версий браузера. Держите Chrome, ChromeDriver, Selenium и пакет Python совместимыми в группе.
Предварительные условия
Прямой HTTP пример был выполнен с помощью Python 3.12.13, undetected-chromedriver 3.5.5, Selenium 4.47.0 и Chrome 151.0.7922.138. Установите точный пакет браузера сначала:
Установите учетные данные прокси через менеджер секретов или защищенные переменные окружения. Не вводите полный URL прокси, не печатайте пароль и не размещайте секреты в скриншотах. Используйте авторизованную целевую страницу, которая возвращает маркер маршрута или публичный IP, и ограничьте таймауты загрузки страниц и скриптов.
Подключение нераскрытого ChromeDriver через Nstproxy
Создайте контролируемую конечную точку прокси, подключите её до запуска Chrome и проверьте полученный маршрут.
Подробный урок: Как использовать нераскрытый прокси для ChromeDriver
Вы можете использовать нераскрытый прокси для ChromeDriver через четыре практических паттерна: прямую HTTP конечную точку, прямую SOCKS5 конечную точку, обработчик учетных данных или ограниченный пул браузеров. Начните с самого простого маршрута, который поддерживает ваша модель аутентификации прокси.
Метод 1: Добавьте HTTP или HTTPS прокси с ChromeOptions
Используйте --proxy-server, когда конечная точка не требует интерактивного запроса имени пользователя/пароля. Это включает авторизованный локальный тестовый прокси и конечные точки поставщиков, доступ к которым уже был обработан вне Chrome.
import json
import os
import undetected_chromedriver as uc
from selenium.webdriver.common.by import By
defmain(): options = uc.ChromeOptions() options.add_argument(f"--proxy-server={os.environ['PROXY_URL']}") options.add_argument("--headless=new") options.add_argument("--no-first-run") driver = uc.Chrome(options=options, version_main=151, use_subprocess=False)try: driver.set_page_load_timeout(15) driver.get(os.environ["TARGET_URL"]) result = json.loads(driver.find_element(By.ID,"result").text)assert result["route"]== os.environ["EXPECTED_ROUTE"]print(result)finally: driver.quit()if __name__ =="__main__": main()
Выполненная фикстура вернула {'route': 'basic-18680', 'authenticated': True, 'target': 'http://fixture.test/items'}. Проверка маршрута подтверждает, что Chrome достиг тестовой страницы через предполагаемую конечную точку; проверка содержимого предотвращает ошибочное восприятие успешного транспорта как полезной страницы.
Не помещайте http:// в отдельное поле хоста, потому что Chrome ожидает один полный URI прокси в этом флаге. Руководство по конфигурации и ротации прокси на Python предоставляет более широкие паттерны для управления окружением и проектирования пулов.
Метод 2: Настройка SOCKS5 прокси
Используйте socks5:// URI, когда ваша конечная точка прокси и целевой рабочий процесс требуют SOCKS5. Браузер всё ещё получает настройку перед запуском, поэтому жизненный цикл идентичен Метод 1.
import os
import undetected_chromedriver as uc
options = uc.ChromeOptions()options.add_argument(f"--proxy-server=socks5://{os.environ['PROXY_HOST']}:{os.environ['PROXY_PORT']}")options.add_argument("--headless=new")driver = uc.Chrome(options=options, version_main=151)try: driver.set_page_load_timeout(15) driver.get(os.environ["TARGET_URL"])print(driver.title)finally: driver.quit()
Этот блок конфигурации проверен на соответствие тому же пути ChromeOptions, что и тест HTTP; перед использованием в производственной среде укажите реальную авторизованную точку SOCKS5. Проверьте поведение DNS с контролируемым именем хоста, поскольку локальное и удаленное разрешение имен может изменить как режимы конфиденциальности, так и режимы отказа.
Метод 3: Работа с аутентифицированным прокси с помощью CDP
Используйте обработчик аутентификации протокола Chrome DevTools, когда прокси отвечает HTTP 407, и прямая --proxy-server=user:pass@host:port не работает. Chrome намеренно разделяет адрес прокси и обмен аутентификацией.
Следующий продвинутый шаблон использует документированный слушатель событий CDP от Undetected ChromeDriver. Он зависит от версии и должен применяться к точной сборке Chrome на этапе стадии перед использованием; текущая среда проверила схему событий и команд, но не смогла завершить выполнение браузера с учетными данными.
Никогда не встраивайте учетные данные в файл Python. Если аутентификация CDP нестабильна на вашей платформе, используйте поддерживаемый локальный форвардер, который аутентифицирует выше по цепочке и открывает конечную точку для Chrome только для петли без аутентификации. Избегайте копирования фрагментов расширения манифеста V2: текущие политики расширений Chrome и командной строки изменились, поэтому более старые примеры расширений аутентификации могут тихо не сработать.
Метод 4: Ротация прокси-серверов путем перезапуска браузера
Ротация конечных точек осуществляется путем создания одного браузера для каждого выбранного прокси и его закрытия перед следующим маршрутом. ChromeOptions используется при запуске процесса; изменение объекта Python после этого не переконфигурирует существующий браузер.
import os
import undetected_chromedriver as uc
defrun_one(proxy_url, target_url): options = uc.ChromeOptions() options.add_argument(f"--proxy-server={proxy_url}") options.add_argument("--headless=new") driver = uc.Chrome(options=options, version_main=151)try: driver.set_page_load_timeout(15) driver.get(target_url)return{"proxy": proxy_url,"title": driver.title}finally: driver.quit()pool =[ os.environ["PROXY_URL_A"], os.environ["PROXY_URL_B"],]results =[run_one(proxy, os.environ["TARGET_URL"])for proxy in pool]print(results)
Держите пул ограниченным, поместите нездоровые маршруты на перерыв и установите конечный бюджет повторных попыток. Не предпринимайте автоматические повторные попытки недетерминированных действий, таких как покупки или отправка форм. Руководство по ротации IP для веб-скрапинга объясняет политики ротации, в то время как прокси-шлюз на стороне провайдера может избежать нового браузера для каждого выходного IP, когда непрерывность сессии не требуется.
Как проверить прокси, не доверяя One Signal
Проверка прокси должна независимо доказать маршрут, результат транспорта и значение страницы. Видимое изменение IP полезно, но не подтверждает, что запрашиваемый контент корректен.
Откройте авторизованный IP или конечную точку проверки маршрута сразу после запуска.
Сравните возвращенный маршрут или IP с ожидаемой сессией прокси.
Отклоните страницы с ошибками браузера, ответы 407, захваченные порталы и стены согласия.
Подтвердите наличие специфического для страницы маркера, такого как заголовок, стабильный идентификатор или поле схемы.
Логируйте только несекретный идентификатор маршрута, время, статус и категорию терминальной ошибки.
Используйте driver.current_url, стабильный элемент и небольшой очищенный объект результата, а не выводите page_source. Для recurring ошибок руководство по устранению неполадок с ошибками прокси-сервера помогает различать ошибки аутентификации, тайм-ауты, туннели и ошибки ответа цели.
Общие ошибки прокси Undetected ChromeDriver
Ошибки прокси Undetected ChromeDriver обычно возникают из-за проблем с аутентификацией, несовпадением драйвера браузера, DNS или проблемами с жизненным циклом процесса, а не из-за самого вызова add_argument().
Симптом
Вероятная причина
Исправление
ERR_NO_SUPPORTED_PROXIES
URI с учетными данными или неподдерживаемая схема
Передавайте только схему, хост и порт; обрабатывайте аутентификацию отдельно
HTTP 407
Отсутствуют или отклонены учетные данные прокси
Проверьте имя пользователя/пароль канала и обработчик аутентификации
ERR_NAME_NOT_RESOLVED
Прокси не активен или путь DNS отличается
Сначала подтвердите маршрут с контролируемым именем хоста
Сессия не создана
Основные версии Chrome и драйвера различаются
Обновите пакет вместе или передайте соответствующий version_main
Первый маршрут работает, второй нет
Существующий процесс Chrome удерживал оригинальный прокси
Закройте и создайте новый драйвер
Страница загружается, но данные неверные
Мягкая блокировка, страница входа или другой локал
Добавьте семантические утверждения страниц
Не реагируйте на сбои обнаружения или контроля доступа увеличением объема. Уменьшите параллельность, проверьте условия и авторизацию и рассматривайте повторное отказ как терминальное состояние.
Когда Nstproxy подходит для этого рабочего процесса
Проживание Nstproxy Residential Prime Proxies подходит для браузерных рабочих процессов, которым нужны контролируемые местоположение и выбор сессий через аутентифицированные прокси-эндпоинты. Основной операционной задачей является поддержание согласованности профиля браузера, сессии прокси и состояния теста, особенно когда задача охватывает несколько загрузок страниц. Документы Nstproxy фиксируют параметры местоположения и сессии на основе имени пользователя, так что фиксированный маршрут браузера может использовать либо ротационное, либо фиксированное поведение в зависимости от сгенерированного эндпоинта. Продукт предлагает модели цен и оплаты по факту использования, что позволяет командам выбирать модель в зависимости от ожидаемого трафика, а не по универсальной рекомендации. Аутентификация Chrome по-прежнему требует один из протестированных интеграционных путей выше; служба прокси не меняет правила обработки учетных данных Chrome.
Контроль сессии: Используйте один документированный идентификатор сессии для управляемого процесса и новый идентификатор только на безопасной границе задачи.
Выбор местоположения: Сгенерируйте требуемое местоположение на панели инструментов и проверьте наблюдаемый результат, вместо того чтобы выводить географию из имени хоста.
Операционное соответствие: Ознакомьтесь с текущими моделями ценообразования Residential Prime и выберите модель оплаты, которая соответствует трафику браузера и поведению повторной попытки.
Ответственное и надежное использование
Используйте Undetected ChromeDriver только для авторизованных тестов, рабочих процессов с общими данными и сайтов, чьи условия разрешают эту деятельность. Слово "undetected" — это название пакета, а не обещание невидимости или разрешение на обход контролей.
Держите параллельность на низком уровне для целевого и прокси-сервиса, минимизируйте собираемые данные и сохраняйте только то, что требуется задаче. Остановитесь при отказе в доступе, вместо того чтобы пытаться избежать CAPTCHA, обходить блокировку учетной записи или постоянно менять личность. Защищайте учетные данные в безопасном хранилище и удаляйте URL-адреса прокси из логов.
Заключение
Надежный шаблон прокси Undetected ChromeDriver прост: выберите один механизм маршрутизации, настройте его перед запуском Chrome, проверьте маршрут и закройте браузер перед сменой эндпоинтов. Прямое --proxy-server конфигурирование — это лучшая отправная точка; маршруты с учетными данными и ротационные требуют явной обработки жизненного цикла и аутентификации.
Начните с одной авторизованной цели и одного маркера маршрута, затем добавьте ограниченный пул только после успешного прохождения проверок приемлемости. Для крупных многоисточниковых операций рассмотрите Nstproxy Proxy Manager для централизованного маршрутизирования и мониторинга вместо внедрения логики эндпоинта в код теста.
Опыт Nstproxy — начните бесплатную пробную версию сегодня
В: Поддерживает ли Undetected ChromeDriver прокси?
Да. Undetected ChromeDriver принимает настройки прокси Chrome через ChromeOptions, включая --proxy-server для HTTP, HTTPS и SOCKS маршрутов, поддерживаемых Chrome.
В: Могу ли я указать имя пользователя и пароль в URL прокси?
Никакой надежный поток решений между версиями не должен полагаться на то, что user:password@host:port работает в аргументе --proxy-server Chrome. Передайте адрес прокси отдельно и обрабатывайте вызов аутентификации 407 через протестированный CDP-поток, поддерживаемый локальный мост или метод авторизации, поддерживаемый провайдером.
В: Почему прокси работает в запросах, но не в Chrome?
Chrome и HTTP-клиент имеют разные стеки прокси и аутентификации. Проверьте схему прокси, путь DNS, обработку 407 Chrome, политику перехвата TLS и то, загрузила ли браузер страницу с ошибкой прокси.
В: Могу ли я сменить прокси без перезапуска Undetected ChromeDriver?
Не надежно с аргументами запуска. Используйте вращающийся шлюз на стороне провайдера для вращения за одним адресом или закройте драйвер и запустите новый процесс Chrome для другой конечной точки.
В: Защищает ли undetected-chromedriver от блокировок?
Нет. Пакет изменяет выбранные сигналы автоматизации, но не дает никаких гарантий доступа, а на его официальной странице указано, что он не скрывает IP-адрес.
В: Законно ли использование прокси Undetected ChromeDriver?
Использование прокси и автоматизации браузера может быть законным, но законность зависит от разрешения, условий цели, типа данных, юрисдикции и цели. Используйте утвержденные цели, минимизируйте сбор и получите юридическую консультацию для чувствительных или регулируемых рабочих процессов.
Marcus Chen
Aug. 20th 2026
110M+ реальных IP с 99.9% успешных доступов
Средний отклик ~0.5с для задач высокой конкуренции
Всего от $0.1/GB
Мгновенный доступ к премиальным residential, datacenter, IPv6 и ISP пулам.