Cómo usar un proxy con Undetected ChromeDriver en 2026
TL;DR
Se debe configurar un proxy de ChromeDriver no detectado antes de que Chrome se inicie. El camino más confiable es --proxy-server con un punto de HTTP, HTTPS o SOCKS autorizado por IP o de otra manera no interactivo.
ChromeDriver no detectado no oculta tu IP. La propia descripción del proyecto dice que el paquete parcha el comportamiento de Selenium ChromeDriver; el enrutamiento de red sigue siendo una responsabilidad separada.
Chrome no acepta username:password@host:port de manera confiable en --proxy-server. Maneja un desafío 407 a través de un flujo de autenticación CDP probado, un puente local administrado o autorización por IP del proveedor.
Reinicia el navegador al cambiar puntos finales de proxy. Reutilizar un controlador después de cambiar ChromeOptions no reenvía el proceso de Chrome existente.
Verifica la ruta, el estado de la página y el contenido esperado por separado. Una página puede cargar a través del proxy previsto y seguir siendo un muro de inicio de sesión, una página de consentimiento o un error suave.
¿Qué es un Proxy de ChromeDriver No Detectado?
Un proxy de ChromeDriver no detectado es un punto final de proxy adjunto a un proceso de Chrome lanzado por el paquete de Python undetected-chromedriver. El proxy cambia la ruta de red del navegador, mientras que el paquete ajusta las señales de automatización del navegador seleccionadas. Las dos funciones son complementarias pero independientes.
La actual página del paquete undetected-chromedriver lista la versión 3.5.5 y advierte explícitamente que el paquete no oculta una dirección IP ni garantiza resultados. Ese límite es importante: usar un proxy de chromedriver no detectado no hace que la automatización sea invisible, no elude controles de acceso y no reemplaza el permiso para acceder a un objetivo.
Para la calidad de localización autorizada, la monitorización de páginas públicas y las pruebas de regresión del navegador, una ruta estable de Nstproxy Residential Prime Proxies puede mantener la identidad de red separada del perfil del navegador. Trata el proxy, el perfil del navegador, las cookies y la cuenta de prueba como una sesión mantenida cuando la continuidad es importante.
Cómo Funciona el Enrutamiento por Proxy en ChromeDriver No Detectado
El enrutamiento por proxy funciona al iniciar Chrome a través de un argumento de línea de comandos o un controlador de autenticación a nivel de navegador. ChromeDriver no detectado pasa opciones de Chrome compatibles al navegador; no expone una API de proxy de alto nivel separada.
Requisito
Mecanismo recomendado
Límite operativo
Proxy HTTP o HTTPS sin un inicio de sesión interactivo
--proxy-server=http://host:port
Configurar antes de uc.Chrome()
Punto final SOCKS5
--proxy-server=socks5://host:port
Confirmar dónde se resuelve el DNS
Proxy con nombre de usuario/contraseña
Controlador de autenticación CDP o un puente local mantenido
Probar contra la versión exacta de Chrome
Diferente punto final por tarea
Nuevo controlador por punto final
Cerrar cada proceso viejo de manera limpia
Puerta de enlace rotativa del lado del proveedor
Mantener una puerta de enlace y variar su política de sesión documentada
El comportamiento de rotación pertenece al proveedor
El ejemplo directo de HTTP se ejecutó con Python 3.12.13, undetected-chromedriver 3.5.5, Selenium 4.47.0 y Chrome 151.0.7922.138. Instala primero el paquete de navegador exacto:
Configura las credenciales del proxy a través de un administrador de secretos o variables de entorno protegidas. No commits una URL de proxy completa, imprime una contraseña ni coloca secretos en capturas de pantalla. Usa una página de destino autorizada que devuelva un marcador de ruta o IP pública y limita los tiempos de carga de página y script.
Conectar ChromeDriver No Detectado A Través de Nstproxy
Crea un endpoint proxy controlado, adjúntalo antes de que Chrome comience, y verifica la ruta resultante.
Tutorial Detallado: Cómo Usar un Proxy de ChromeDriver No Detectado
Puedes usar un proxy de ChromeDriver no detectado a través de cuatro patrones prácticos: un endpoint HTTP directo, un endpoint SOCKS5 directo, un manejador de credenciales, o un grupo de navegadores acotado. Comienza con la ruta más simple que soporte tu modelo de autenticación de proxy.
Método 1: Agregar un Proxy HTTP o HTTPS con ChromeOptions
Usa --proxy-server cuando el endpoint no requiera un desafío interactivo de nombre de usuario/contraseña. Esto incluye un proxy de prueba local autorizado y endpoints de proveedor cuyo modelo de acceso ya ha sido gestionado fuera de 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()
El fixture ejecutado devolvió {'route': 'basic-18680', 'authenticated': True, 'target': 'http://fixture.test/items'}. La afirmación de la ruta prueba que Chrome llegó a la página de prueba a través del endpoint previsto; la afirmación de contenido previene que un transporte exitoso sea confundido con una página útil.
No pongas http:// dentro de un campo de host separado porque Chrome espera una URI de proxy completa en esta bandera. La guía de configuración y rotación de proxy en Python proporciona patrones más amplios para el manejo de entornos y el diseño de grupos.
Método 2: Configurar un Proxy SOCKS5
Usa una URI socks5:// cuando tu endpoint de proxy y el flujo de trabajo objetivo requieran SOCKS5. El navegador aún recibe la configuración antes del lanzamiento, por lo que el ciclo de vida es idéntico al Método 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()
Este bloque está verificado en la configuración contra la misma ruta de ChromeOptions que la prueba HTTP en vivo; proporciona un verdadero punto final SOCKS5 autorizado antes de aceptarlo en producción. Verifica el comportamiento DNS con un nombre de host controlado porque la resolución de nombres local versus remota puede cambiar tanto la privacidad como los modos de fallo.
Método 3: Manejar un Proxy Autenticado con CDP
Usa un controlador de autenticación del Protocolo de Herramientas para Desarrolladores de Chrome cuando el proxy responda con HTTP 407 y --proxy-server=user:pass@host:port falle. Chrome separa deliberadamente la dirección del proxy del intercambio de autenticación.
El siguiente patrón avanzado utiliza el oyente de eventos CDP documentado de Undetected ChromeDriver. Es sensible a la versión y debe ser ejercitado contra la versión exacta de Chrome en la etapa de pruebas antes de su uso; el entorno actual verificó el evento y el esquema de comandos, pero no pudo completar una ejecución del navegador con credenciales.
Nunca incrustes credenciales en el archivo de Python. Si la autenticación CDP es inestable en tu plataforma, utiliza un reenviador local mantenido que autentique hacia arriba y exponga un punto final de bucle invertido no autenticado solo para Chrome. Evita copiar fragmentos de extensiones Manifest V2: las políticas actuales de extensión y línea de comandos de Chrome han cambiado, por lo que ejemplos de extensiones de autenticación más antiguos pueden fallar silenciosamente.
Método 4: Rotar Proxies Reiniciando el Navegador
Rota los puntos finales creando un navegador por cada proxy seleccionado y cerrándolo antes de la siguiente ruta. ChromeOptions se consume al inicio del proceso; cambiar el objeto de Python después no reconfigura un navegador existente.
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)
Mantén el grupo limitado, coloca rutas no saludables en enfriamiento y establece un presupuesto de reintentos finito. No reintentes acciones no idempotentes como compras o envíos de formularios automáticamente. La guía de rotación de IP para web scraping explica las políticas de rotación, mientras que una puerta de enlace rotativa del lado del proveedor puede evitar un nuevo navegador para cada IP de salida cuando la continuidad de la sesión no es requerida.
Cómo Verificar el Proxy Sin Confiar en Uno Señal
La verificación del proxy debe demostrar la ruta, el resultado del transporte y el significado de la página de manera independiente. Un cambio de IP visible es útil, pero no establece que el contenido solicitado sea correcto.
Abre un IP autorizado o un punto final de verificación de ruta inmediatamente después del lanzamiento.
Compara su ruta o IP devuelta con la sesión proxy esperada.
Rechaza páginas de error del navegador, respuestas 407, portales cautivos y muros de consentimiento.
Confirma un marcador específico de la página como un encabezado, un ID estable o un campo de esquema.
Registra solo un ID de ruta no secreto, tiempo, clase de estado y categoría de error terminal.
Usa driver.current_url, un elemento estable y un pequeño objeto de resultado saneado en lugar de volcar page_source. Para errores recurrentes, la guía de solución de errores de servidor proxy ayuda a distinguir fallos de autenticación, tiempo de espera, túneles y respuesta de objetivo.
Errores Comunes de Proxy en Undetected ChromeDriver
Los errores de proxy de Undetected ChromeDriver generalmente provienen de problemas de autenticación, desajuste entre el navegador y el controlador, DNS o problemas en el ciclo de vida del proceso en lugar de la llamada add_argument() en sí.
Síntoma
Causa probable
Solución
ERR_NO_SUPPORTED_PROXIES
URI con credenciales o esquema no soportado
Pasar solo esquema, host y puerto; manejar la autenticación por separado
HTTP 407
Credenciales del proxy faltantes o rechazadas
Verificar el nombre de usuario/contraseña del canal y el manejador de autenticación
ERR_NAME_NOT_RESOLVED
Proxy no activo o la ruta DNS difiere
Confirmar primero la ruta con un nombre de host controlado
Sesión no creada
Las versiones principales de Chrome y driver difieren
Actualizar el conjunto juntos o pasar el version_main correspondiente
La primera ruta funciona, la segunda no
El proceso de Chrome existente mantuvo el proxy original
Salir y crear un nuevo driver
La página carga pero los datos son incorrectos
Bloqueo suave, página de inicio de sesión o configuración regional diferente
Agregar afirmaciones semánticas de página
No respondas a fallos de detección o control de acceso aumentando el volumen. Reduce la concurrencia, inspecciona términos y autorización, y trata la denegación repetida como un estado terminal.
Cuando Nstproxy se Ajusta a Este Flujo de Trabajo
Los Proxies Residenciales Prime de Nstproxy se ajustan a flujos de trabajo de navegador que necesitan elecciones controladas de ubicación y sesión a través de puntos finales de proxy autenticados. El principal desafío operativo es mantener alineados el perfil del navegador, la sesión del proxy y el estado de la prueba, especialmente cuando una tarea abarca múltiples cargas de página. Nstproxy documenta los parámetros de ubicación y sesión basados en nombre de usuario, por lo que una ruta de navegador fija puede utilizar un comportamiento rotativo o fijo según el punto final generado. El producto ofrece modelos de facturación por paquete y por uso, lo que permite a los equipos elegir un modelo basado en el tráfico esperado en lugar de una recomendación universal. La autenticación de Chrome todavía necesita uno de los caminos de integración probados mencionados anteriormente; el servicio de proxy no cambia las reglas de manejo de credenciales de Chrome.
Control de sesión: Utiliza un identificador de sesión documentado para un recorrido con estado y un nuevo identificador solo en un límite de tarea seguro.
Selección de ubicación: Genera la ubicación requerida en el panel de control y valida el resultado observado en lugar de inferir la geografía a partir de un nombre de host.
Ajuste operativo: Revisa los actuales modelos de precios Residenciales Prime y selecciona un modelo de facturación que coincida con el tráfico y el comportamiento de reintentos del navegador.
Uso Responsable y Fiable
Usa Undetected ChromeDriver solo para pruebas autorizadas, flujos de trabajo de datos públicos y sitios cuyos términos permitan la actividad. La palabra “undetected” es un nombre de paquete, no una promesa de invisibilidad o permiso para derrotar controles.
Mantén la concurrencia lo suficientemente baja para el objetivo y el servicio proxy, minimiza los datos recopilados y retén solo lo que la tarea requiere. Detente ante una negación de acceso en lugar de intentar evitar CAPTCHA, eludir prohibiciones de cuenta o cambiar repetidamente la identidad. Protege las credenciales en almacenamiento secreto y elimina las URL de proxy de los registros.
Conclusión
El patrón confiable de proxy de Undetected ChromeDriver es simple: elige un mecanismo de enrutamiento, configúralo antes de que Chrome comience, verifica la ruta y cierra el navegador antes de cambiar puntos finales. La configuración directa de --proxy-server es el mejor punto de partida; las rutas con credenciales y rotativas necesitan un manejo explícito del ciclo de vida y de autenticación.
Comienza con un objetivo autorizado y un marcador de ruta, luego agrega un grupo acotado solo después de que pasen las verificaciones de aceptación. Para operaciones multifuente más grandes, evalúa Nstproxy Proxy Manager para enrutamiento y monitoreo centralizados en lugar de incrustar la lógica del punto final en todo el código de prueba.
Experimenta Nstproxy — Comienza Tu Prueba Gratuita Hoy
Sí. Undetected ChromeDriver acepta configuraciones de proxy de Chrome a través de ChromeOptions, incluyendo --proxy-server para rutas HTTP, HTTPS y SOCKS soportadas por Chrome.
Q: ¿Puedo poner un nombre de usuario y contraseña en la URL del proxy?
Ningún flujo de trabajo confiable entre versiones debería asumir que user:password@host:port funciona en el argumento --proxy-server de Chrome. Pasa la dirección del proxy por separado y maneja el desafío de autenticación 407 a través de un flujo de CDP probado, un puente local mantenido o un método de autorización soportado por el proveedor.
Q: ¿Por qué el proxy funciona en solicitudes pero falla en Chrome?
Chrome y un cliente HTTP tienen pilas de proxy y autenticación diferentes. Verifica el esquema del proxy, la ruta DNS, el manejo del 407 de Chrome, la política de interceptación TLS y si el navegador cargó una página de error del proxy.
Q: ¿Puedo cambiar el proxy sin reiniciar Undetected ChromeDriver?
No de manera confiable con argumentos de inicio. Use un gateway rotatorio del lado del proveedor para rotación detrás de una dirección, o cierre el controlador y inicie un nuevo proceso de Chrome para un endpoint diferente.
P: ¿El undetected-chromedriver previene bloqueos?
No. El paquete cambia señales de automatización seleccionadas pero no garantiza el acceso, y su página oficial del paquete indica que no oculta una dirección IP.
P: ¿Es legal usar un proxy de Undetected ChromeDriver?
Usar un proxy y automatización de navegador puede ser legal, pero la legalidad depende de la autorización, los términos del objetivo, el tipo de datos, la jurisdicción y el propósito. Use objetivos aprobados, minimice la recolección y obtenga asesoramiento legal para flujos de trabajo sensibles o regulados.
Marcus Chen
Aug. 20th 2026
110M+ IP reales con 99.9% de acceso exitoso
Respuesta media ultrarrapida ~0.5s para tareas de alta concurrencia
Desde solo $0.1/GB
Acceso inmediato a pools premium de proxies residenciales, datacenter, IPv6 e ISP.