Acceso al cuadro de diálogo de descarga de archivos en Firefox
¿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).
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");
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