TL;DR
- Se debe configurar un proxy de ChromeDriver no detectado antes de que Chrome se inicie. El camino más confiable es
--proxy-servercon 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:portde 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
ChromeOptionsno 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 Nstdata 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 |
La documentación de configuración de proxy de Chromium explica cómo Chrome asigna reglas de proxy a esquemas de URL. La documentación del navegador Chrome de Selenium cubre las opciones de Chrome y la alineación de la versión del navegador. Mantén Chrome, ChromeDriver, Selenium y el paquete de Python compatibles como un grupo.
Requisitos Previos
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:
python -m venv .venv source .venv/bin/activate pip install undetected-chromedriver==3.5.5 selenium==4.47.0
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 NstdataCrea un endpoint proxy controlado, adjúntalo antes de que Chrome comience, y verifica la ruta resultante. Crear una Ruta Proxy de Chrome |
Pegajoso
Cliente Nstdata
🇺🇸EE. UU.
🇩🇪DE
🇸🇬SG
|
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 def main(): options = uc.ChromeOptions() options.add_argument(
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.
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.
import os import undetected_chromedriver as uc options = uc.ChromeOptions() options.add_argument( f"--proxy-server=http://{os.environ['PROXY_HOST']}:{os.
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 def run_one(proxy_url, target_url): options = uc.ChromeOptions() options.add_argument(f"--proxy-server={proxy_url}") options
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 Nstdata se Ajusta a Este Flujo de Trabajo
Los Proxies Residenciales Prime de Nstdata 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. Nstdata 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 Nstdata 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 Nstdata — Comienza Tu Prueba Gratuita Hoy
FAQ
Q: ¿Undetected ChromeDriver soporta proxies?
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.





