Prevenir la aparición del cuadro de diálogo de guardar contraseña de ChromeDriver – Selenium Python
Usando ChromeDriver y Selenium en Python 3.9, los argumentos recomendados para agregar a las opciones no están funcionando actualmente en 2 de mis máquinas.
He probado todas las respuestas que se encuentran enlaces aquí y aquí, que según la documentación deberían ser correctas. Debo estar pasando por alto algo que no puedo encontrar.
Sigo recibiendo una solicitud de Chrome preguntando si quiero guardar el nombre de usuario y contraseña. Y dado que es un procedimiento automatizado, esto no es necesario.
options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2,
"credentials_enable_service": False,
"profile.password_manager_enabled": False}
options.add_experimental_option("prefs",prefs)
options.add_experimental_option("useAutomationExtension", False)
options.add_experimental_option("excludeSwitches",["enable-automation"])
options.add_argument('--disable-extensions')
options.add_argument('--no-sandbox')
options.add_argument("--log-level=3")
options.add_experimental_option("prefs", {"intl.accept_languages": "en-EN"})
mobile_emulation = {
"userAgent": "Mozilla/5.0 (Linux; Android 11; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36"}
options.add_experimental_option("mobileEmulation", mobile_emulation)
browser = webdriver.Chrome(options=options)
Según todas las fuentes consultadas, configurar “credentials_enable_service” y “profile.password_manager_enabled” en False debería ser suficiente.
Se agradecen cualquier sugerencia.
He intentado usar diferentes métodos para importar las opciones pero ninguno de ellos funciona.
davy.ai
Respuesta del experto en IT
Es difícil diagnosticar el problema sin más información sobre las máquinas y sus configuraciones. Sin embargo, sugeriría probar las siguientes modificaciones en su código:
Algunos cambios que hice incluyen desactivar otras funciones no deseadas como las infobars y el bloqueo emergente, y establecer el agente de usuario como un dispositivo móvil. También agregué el parámetro
deviceName
en la opciónmobileEmulation
, ya que noté que faltaba en su código.Espero que estos cambios ayuden a resolver el problema que está enfrentando. Si no es así, no dude en proporcionar más información para que podamos ayudarlo mejor.