我们使用PhantomJS进行脚本的无头执行,这些脚本使用浏览器Firefox 29.0.1以Selenium Webdriver(2.42.2)+ Java编写。我们能够成功地将PhantomJS与我们的框架集成。但我们面临的问题是使用PhantomJS设置MIME类型。即,使用selenium Webdriver我们设置浏览器级别首选项来执行下载文件(pdf,csv,zip等)但无法找到如何处理PhantomJS的操作。
以下示例代码为firefox浏览器级别首选项:
FirefoxProfile profile = new FirefoxProfile();
profile.setEnableNativeEvents(true);
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting",false);
profile.setPreference("browser.download.dir","D:\downloads");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf,application/download,application/force-download,application/x-download,text/csv,image/jpeg,application/zip");
profile.setPreference("pdfjs.disabled", true);
尝试将参数传递给“ PHANTOMJS_CLI_ARGS ”,如下所示:
System.setProperty("phantomjs.download.folderList", "2");
System.setProperty("phantomjs.download.dir","D:\downloads");
但是PhantomJS无法识别有效的输入参数。