Acceso al cuadro de diálogo de descarga de archivos en Firefox

Resuelto Andrey Shchekin asked hace 15 años • 11 respuestas

¿Existe algún tipo de API que pueda permitirme manipular un cuadro de diálogo de descarga de archivos en Firefox? (Quiero acceder al que aparece cuando el usuario hace algo, no iniciar uno yo mismo).

Lo que quiero hacer es acceder a este cuadro de diálogo desde Selenium (y tampoco estoy seguro de si el "modo privilegiado" de Selenium es suficiente para acceder a la interfaz de Chrome).

Andrey Shchekin avatar Jul 24 '09 15:07 Andrey Shchekin
Aceptado

Tengo una solución para este problema, revisa el código:

FirefoxProfile firefoxProfile = new FirefoxProfile();

firefoxProfile.setPreference("browser.download.folderList",2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.download.dir","c:\\downloads");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");

WebDriver driver = new FirefoxDriver(firefoxProfile);//new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);

driver.navigate().to("http://www.myfile.com/hey.csv");
dlopezgonzalez avatar Feb 17 '2012 13:02 dlopezgonzalez

Me encontré con el mismo problema, pero encontré una solución. Lo hice de la misma manera que lo hizo este blog .

Por supuesto, esto era Java, lo traduje a Python:

fp = webdriver.FirefoxProfile()

fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")

browser = webdriver.Firefox(firefox_profile=fp)

En mi ejemplo era un archivo CSV. Pero cuando necesitas más, se almacenan en el~/.mozilla/$USER_PROFILE/mimeTypes.rdf

Akendo avatar Nov 02 '2011 16:11 Akendo