我正在尝试使用FireFox上的SeleniumWebDriver下载.apk
文件。
我已将个人资料设为auto-save
,但当我点击.apk
文件下载链接时,会打开下载确认对话框。
我该如何继续前进?
这是我的代码:
FirefoxProfile fprofile = new FirefoxProfile();
fprofile.setPreference("browser.download.folderList", 2);
fprofile.setPreference( "browser.download.manager.showWhenStarting", false );
fprofile.setPreference("browser.download.dir", "D:\\WebDriverdownloads");
fprofile.setPreference("browser.helperApps.alwaysAsk.force", false);
fprofile.setPreference("browser.helperApps.neverAsk.saveToDisk",
"application/vnd.android.package-archive;"); //MIME Type for APK files
driver = new FirefoxDriver(fprofile);
答案 0 :(得分:0)
答案 1 :(得分:0)
在我的代码中,我只是有以下首选项,它工作正常。看起来你已经有了这些选择。
"browser.download.folderList": 2,
"browser.download.dir": "/Users/nilesh",
"browser.helperApps.neverAsk.saveToDisk": "text/csv"
如果您在线搜索,人们将使用AutoIT和Robot类发布大量解决方案。我强烈建议你避免这样做。据我所知,AutoIT仅限Windows。我对机器人的经验并没有给出一致的结果。所以这两种解决方案都很脆弱。
此外,如果你关心支持多个浏览器,你必须在每个浏览器的基础上处理这个问题,而不仅仅是firefox。我建议您阅读this blog,其中介绍了如何在Selenium中下载文件以及您为什么不应该这样做。该博客的作者使用HTTP Get请求在Java中提供查询文件的解决方案。如果您想支持多个浏览器,这是解决此问题的最佳方法。