Comment télécharger automatiquement via le navigateur Firefox en utilisant FirefoxProfile?


Je travaille avec selenium java où j'ai besoin de télécharger des fichiers pdf, j'ai fait référence à ceci, ce et aussice répond ici, mais semble que rien ne fonctionne dans ma situation. Est-ce dû à la définition d'une nouvelle instance de pilote Firefox, c'est-à-direSystem.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe"); ? Je suis coincé ici.Cependant, lorsque je clique manuellement sur enregistrer le fichier dans la boîte de dialogue MIME, il enregistre correctement dans mon emplacement personnalisé, mon code de lien de téléchargement réside également dans une autre classe java et sous le code dans une autre classe , mais j'utilise le même pilote que déclaré dans cette classe, voici mon code,

FirefoxProfile profile = new FirefoxProfile();
//Set Location to store files after downloading.
profile.setPreference("browser.download.folderList", 2);
profile.setPreference( "browser.download.manager.showWhenStarting", false );
profile.setPreference("browser.download.dir", "D:\\WebDriverDownloads");
profile.setPreference("pdfjs.disabled", true);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf"); 
System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
driver = new FirefoxDriver(profile);
Author: DebanjanB, 2017-08-09

1 answers

Le bloc de code suivant configure un Firefox Profile à Download et Save fichiers PDF en utilisant Selenium à travers Java liaisons:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.dir", "C:\\Utility\\Downloads");
profile.setPreference("browser.download.folderList",2);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/plain,application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf");
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile","text/plain,application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile", "");
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.closeWhenDone", true);
profile.setPreference("pdfjs.disabled", true);
System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
WebDriver driver = new FirefoxDriver(profile);
 2
Author: DebanjanB, 2017-08-09 13:59:31