Ir al contenido
Guides 1 min de lectura 1076 vistas

Proxy de Selenium: Guía Completa

Cómo configurar un proxy en Selenium WebDriver para Python: Chrome, Firefox, autenticación, rotación y elusión de detección.

Selenium Автоматизация Python
Proxy de Selenium: Guía Completa

Proxy de Selenium: Guía Completa

Selenium WebDriver es una herramienta popular para la automatización de navegadores. Configurar proxies en Selenium requiere un enfoque especial.

Chrome + Selenium

Configuración Básica

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://proxy.example.com:8080')

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://httpbin.org/ip')

Con Autenticación (mediante extensión)

import zipfile

def create_proxy_extension(proxy_host, proxy_port, proxy_user, proxy_pass):
    manifest_json = '''
    {
        "version": "1.0.0",
        "manifest_version": 2,
        "name": "Proxy Auth",
        "permissions": ["proxy", "webRequest", "webRequestBlocking", "<all_urls>"],
        "background": {"scripts": ["background.js"]}
    }
    '''

    background_js = f'''
    var config = {{
        mode: "fixed_servers",
        rules: {{
            singleProxy: {{
                scheme: "http",
                host: "{proxy_host}",
                port: parseInt({proxy_port})
            }}
        }}
    }};

    chrome.proxy.settings.set({{value: config, scope: "regular"}}, function() {{}});

    chrome.webRequest.onAuthRequired.addListener(
        function(details) {{
            return {{
                authCredentials: {{
                    username: "{proxy_user}",
                    password: "{proxy_pass}"
                }}
            }};
        }},
        {{urls: ["<all_urls>"]}},
        ['blocking']
    );
    '''

    with zipfile.ZipFile('proxy_auth.zip', 'w') as zp:
        zp.writestr("manifest.json", manifest_json)
        zp.writestr("background.js", background_js)

    return 'proxy_auth.zip'

# Usage
ext_path = create_proxy_extension('proxy.example.com', 8080, 'user', 'pass')

chrome_options = Options()
chrome_options.add_extension(ext_path)

driver = webdriver.Chrome(options=chrome_options)

Firefox + Selenium

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "proxy.example.com")
profile.set_preference("network.proxy.http_port", 8080)
profile.set_preference("network.proxy.ssl", "proxy.example.com")
profile.set_preference("network.proxy.ssl_port", 8080)

driver = webdriver.Firefox(firefox_profile=profile)

Proxy SOCKS5

chrome_options = Options()
chrome_options.add_argument('--proxy-server=socks5://proxy.example.com:1080')

Rotación de Proxy

import random

proxies = [
    'http://proxy1.example.com:8080',
    'http://proxy2.example.com:8080',
    'http://proxy3.example.com:8080',
]

def get_driver_with_proxy():
    proxy = random.choice(proxies)
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={proxy}')
    return webdriver.Chrome(options=chrome_options)

Elusión de Detección

chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://proxy:8080')
chrome_options.add_argument('--disable-blink-features=AutomationControlled')
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
chrome_options.add_experimental_option('useAutomationExtension', False)

driver = webdriver.Chrome(options=chrome_options)
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
    'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
})

Verificación

driver.get('https://httpbin.org/ip')
print(driver.page_source)

Consejos

  1. Usa el modo headless con cuidado — muchos sitios lo detectan
  2. Añade retrasos aleatorios entre acciones
  3. Rota el User-Agent junto con el proxy
  4. Usa proxies residenciales para sitios difíciles
Actualizado: 09.01.2026
Volver a la categoría

Leer también

Guides 2 min

Proxy para Nike SNKRS: Consigue lanzamientos limitados y múltiples entradas con GProxy

Usa proxies residenciales o móviles para Nike SNKRS para participar en sorteos con múltiples cuentas, superar los límites de IP y hacer cop de drops limitados sin baneos. Qué tipo elegir y cómo configurarlo.

Guides 2 min

Cómo configurar un proxy en iPhone (Wi-Fi y SOCKS5)

Configura un proxy en iPhone mediante los ajustes nativos de Wi-Fi (HTTP/HTTPS) o una aplicación de proxy como Shadowrocket para SOCKS5 y cobertura celular. Configuración paso a paso en iOS y las limitaciones que debes conocer.

Guides 3 min

Proxy para Tinder: Cuentas Múltiples y Evitar Bloqueos

Usa proxies móviles o residenciales para Tinder para gestionar múltiples perfiles y evitar shadowbans de IP. Por qué el móvil gana, cómo configurarlo y por qué un proxy por sí solo no cambiará tu ciudad.

Guides 2 min

Proxy para StockX: Monitoree precios y gestione cuentas

Usa proxies residenciales, ISP o móviles para StockX para monitorear precios, manejar múltiples cuentas y hacer cop de drops sin baneos. Aquí tienes qué tipo elegir y cómo configurarlo.

Guides 3 min

Proxy para la API de OpenAI: acceso, límites de velocidad y configuración

Enrute la OpenAI API a través de un proxy residencial o ISP para acceder a regiones compatibles, esquivar límites de tasa 429 e aislar cuentas. Qué proxy usar más ejemplos de configuración en Python.

Guides 1 min

Aquí tienes las traducciones:

Configurando Proxy en Cypress para Pruebas E2E

Pruebe nuestros proxies

20,000+ proxies en 100+ países del mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.