
Selenium se encuentra con Proxy IP: ¡Por fin se ha roto la ventana!
Los hermanos que se dedican a las pruebas de automatización deben entender que cuando se utiliza Selenium para simular el comportamiento real de los usuarios, lo que más temen es encontrarse con IP bloqueadas. Si no se dispone de alguna IP proxy, el proyecto será amarillo en un minuto. Hoy, le enseñaremos cómo proxy IP y selector de CSS de estas dos herramientas mágicas en un pedazo de uso.
Dieciocho formas de IP proxy
En primer lugar, vamos a decir una historia real: el año pasado, hay un equipo de comparación de precios de comercio electrónico, no colgar el agente directamente subir una plataforma de datos, los resultados de media hora se bloqueó más de 200 cuentas. Más tarde cambióProxy dinámico residencial para ipipgojunto con la estrategia de rotación, reforzó la tasa de éxito en la recogida de datos, que pasó de 231 TP3T a 981 TP3T.
Las maravillas de las IP proxy en escenarios de automatización:
- Falsificación de la geolocalización real (por ejemplo, captura de mercancías restringidas regionalmente)
- Superar el límite de frecuencia de una única solicitud de IP
- Impedir el reconocimiento de características (algunos sitios toman las huellas dactilares del navegador)
Selectores CSS: la aguja de bordar para posicionar elementos
¿Por qué los controladores antiguos adoran los selectores CSS? Por ejemplo, para encontrar todos los botones de la página con la categoría "comprar-ahora", tienes que usar XPath para escribir//[contains(@class,'comprar-ahora')]y CSS directamente.comprar-ahoraYa está hecho. La diferencia es como la que hay entre coger cacahuetes con palillos y cogerlos con una cuchara.
Código de ejemplo
from selenium.webdriver import ChromeOptions
Aquí cambiar a la información del proxy proporcionada por ipipgo
proxy = "123.123.123.123:8888"
options = ChromeOptions()
options.add_argument(f'--proxy-server={proxy}')
driver = webdriver.Chrome(options=options)
Localiza la caja de búsqueda con CSS
search_box = driver.find_element_by_css_selector("inputkw.s_ipt")
El secreto de la coordinación del Partido de Oro
Nombra algunos baches en los que es fácil caer:
- Cuando falle la IP proxy, recuerde añadirMecanismo de repetición de pruebas(Se recomienda utilizar la API de ipipgo para cambiar la IP automáticamente)
- El posicionamiento CSS se encuentra con la clase dinámica, pruebe el selector de atributos
[name^='dynamic_'] - Verifique que el proxy está en vigor: visite
https://httpbin.org/ipMira el IP de retorno
La hora del control de calidad: Guía para evitar el abismo
P: ¿Qué debo hacer si mi IP proxy falla de repente?
R: recomendado por ipipgoResidencial dinámico (Enterprise Edition)Paquete con su propia comprobación de salud IP, rechazando automáticamente los nodos fallidos.
Q:¿El posicionamiento CSS siempre no encuentra el elemento?
R: El 80% de la página aún no se ha cargado, añada una espera explícita:
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".list-item")))
la herramienta adecuada ahorra esfuerzo y da mejores resultados
Recientemente hemos ayudado a un cliente a recopilar datos de comercio electrónico transfronterizo con el programa de ipipgoAgentes residenciales estáticosCon el posicionamiento CSS, se capturaron 200.000 datos de productos básicos en 3 días. Su línea TK es realmente estable, y encontrarse con CAPTCHA es la mitad menos que usando proxies ordinarios.
| Tipo de envase | Escenarios aplicables |
|---|---|
| Residencial dinámico (estándar) | Recogida rutinaria de datos |
| Residencial dinámico (empresa) | Escenarios empresariales de alta frecuencia |
| Viviendas estáticas | Servicios que requieren IP fija |
La última frase molesta: no gubia el costo en el proxy IP, un buen servicio de proxy puede ahorrar al menos 30% tiempo de depuración. Especialmente si usted está haciendo un proyecto a largo plazo, directamente en el.paquete empresarial de ipipgoEse paquete de tráfico es más barato que un té con leche cuando se convierte.

