在使用java-selenium的firefox浏览器中自动下载不起作用

在使用java-selenium的firefox浏览器中自动下载不起作用

问题描述:

我正在使用selenium java,我需要下载pdf文件,我提到这个,也是这个在这里回答,但似乎没有任何工作在我的情况。
是由于设置一个新的Firefox驱动程序实例,即 System.setProperty(webdriver.firefox.bin,D: ; ?我被困在这里。但是,当我手动点击保存文件的MIME对话框,它会正确保存到我的自定义位置,我的下载链接代码驻留在另一个Java类和下面的代码在另一个类,但我使用相同的驱动程序在这个类中声明,
以下是我的代码,

I'm working with selenium java where I need to download pdf files, I referred this, this and also this answers here, but seems like nothing is working in my situation. Is it due to setting a new firefox driver instance i.e.System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe"); ? I'm stuck here.However when I manually click on save file on the MIME dialog it saves correctly to my custom location, also my download link code resides in another java class and below code in another class , but I use the same driver as declared in this class, below is my 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);


以下代码块配置 Firefox配置文件下载保存使用 $ c>通过 Java 绑定:

The following code block configures a Firefox Profile to Download and Save PDF files using Selenium through Java bindings:

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);