es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo evitar el bloqueo de Walmart usando Selenium Webdriver

Estoy aprendiendo python, he creado algunos bots (nada especial), estoy intentando crear uno nuevo en Walmart, pero cuando ejecuto chromedriver, el sitio web de Walmart me pide resolver un captcha, esto no es un problema, porque puedo resolverlo manualmente. El problema es que cada vez que resuelvo el captcha, el captcha aparece de nuevo. Mi bot requiere que inicie sesión en el sitio web de Walmart, así que probé con Google Chrome (no con chromedriver) y pude iniciar sesión sin ningún problema. Pensé que podría ser mi dirección IP o algo más, pero después de hacer algunas pruebas, me di cuenta de que Walmart bloquea el proceso de inicio de sesión si uso chromedriver.

Aquí está mi código:

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

options.add_argument("user-data-dir=C:\Users\PCHOME\AppData\Local\Temp\scoped1\Default\gdps");
driver = webdriver.Chrome(executable_path=r'dchrome\chromedriver.exe', options=options)

driver.get("https://www.walmart.com/")

En este caso, estoy intentando iniciar sesión manualmente (ya lo intenté con un bot). El sitio se carga bien, pero el captcha no me permite iniciar sesión, simplemente aparece y aparece y aparece… esta es la imagen del captcha:

[imagen del captcha]

Presiono y mantengo presionado el botón hasta que el captcha se borra, luego aparece este símbolo ✓ y luego aparece el captcha de nuevo. ¿Alguna idea? ¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que Walmart ha implementado un mecanismo para bloquear intentos de inicio de sesión a través de Selenium usando ChromeDriver. Una posible solución a este problema es utilizar un navegador diferente o una herramienta diferente para la automatización. Podría intentar usar Firefox junto con GeckoDriver o utilizar una herramienta completamente diferente, como Puppeteer o Playwright.

    Otro posible método es usar el modo “headless” para ChromeDriver, que simula un navegador sin mostrarlo en pantalla. Esto podría ayudar a evitar el captcha. Para hacerlo, agregue el argumento --headless al objeto ChromeOptions:

    options = webdriver.ChromeOptions()
    options.add_argument("--headless")
    driver = webdriver.Chrome(executable_path=r'ruta/a/chromedriver', options=options)
    

    Si ninguna de estas soluciones funciona, es posible que tenga que resolver manualmente el captcha o contactar al equipo de soporte de Walmart para obtener ayuda.

Comments are closed.