Cómo controlar la descarga de archivos con enlaces Selenium + Python en Chrome
¿Dónde puedo encontrar la documentación que describe las opciones que puedo usar con el navegador web Selenium y Chrome? Quiero abrir un enlace en un navegador web (para obtener credenciales) pero no descargar el archivo correspondiente (.pdf o .tiff o .jpeg). Estoy usando Python 2.7, selenium 3.0.1 y Chrome versión 54.0.2840.99 (y chromedriver.exe) en la computadora portátil con Windows 7.
# Chrome web browser.
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
#options.add_argument('--disable-download-notification') #doesn't seems to work
#options.add_experimental_option("prefs", {"download.default_directory","C:\Users\xxx\downloads\Test"}) # doesn't work
#options.add_experimental_option("prefs", {"download.prompt_for_download": False}) # doesn't seems to work
#options.add_experimental_option("prefs", {'profile.default_content_settings': {'images': 2}})# this will disable image loading in the browser
options.add_argument("user-agent="+user_agent_profile)
driver_main = webdriver.Chrome(chrome_options=options)
# Opening the web application portail.
driver_main.get("https://my_link")
Encontré muchas discusiones sobre este tema pero ninguna de las soluciones funciona. Por ejemplo:
add_experimental_option("prefs", {"download.default_directory","C:\Users\xxx\downloads\Test"})
no funciona para mi
Igual por:
add_experimental_option("prefs", {"download.prompt_for_download": False})
(También lo intento con "falso").
Mientras:
add_argument("user-agent="+user_agent_profile)
¡Parece funcionar!
No estoy seguro de entender lo que está mal
El problema que tengo es que, comienza a descargar el archivo cada vez que abro un enlace con el archivo de nombre (1) archivo (2) ... archivo (99) y luego a partir de 100 se abre una ventana emergente "Guardar como" . Por lo tanto, me gustaría no descargar el archivo en absoluto o poder moverlo a una carpeta específica en la "Papelera de reciclaje".
¿Cómo encuentro qué opciones podría usar con add_argument y add_argument? Traté de mirar Chrome: // acerca de / pero no pude ver una correspondencia directa.
Muchas gracias.
Salud.
Fabien