使用Selenium在FireFox中设置首选项时出现mime类型问题

Jcm*_*010 4 java firefox selenium mime-types

这是我几个星期以来一直在努力解决的问题,但似乎无法找到可行的解决方案.在坚果壳中,我的程序进入一个网站并下载一些文件.当它下载文件时,FireFox总是会显示弹出窗口,询问我要将其保存到的位置.为了摆脱这个弹出窗口,我创建了一个配置文件首选项.

profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip,application/vnd.ms-excel");
Run Code Online (Sandbox Code Playgroud)

这个首选项适用于我需要下载的一个zip文件,但我完全忽略了我需要的其他3个Microsoft CSV文件.我已经尝试了我能想到的每种适用的mime类型,但没有一种能够工作.我通过一个在线程序运行我的文件,该程序应该告诉你文件的mime类型,并宣布我测试的文件是一个application/vnd.ms-excel.不幸的是,我从来没有能够使这种类型工作.我尝试了各种不同的方式来设置配置文件,例如:

profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip" + "application/vnd.ms-excel");
Run Code Online (Sandbox Code Playgroud)

甚至只是在application/vnd.ms-excel没有zip前面的类型的情况下使用,仍然没有骰子.有没有其他方法可以将此设置为每次我尝试下载这些文件时没有弹出窗口的位置?更好的是,我的代码是否有问题可以让zip文件工作,但不是Microsoft csv?

ale*_*cxe 5

以下是一组特定于CSV的mime类型,这些类型适用于SO上的其他用户:

profile.setPreference('browser.helperApps.neverAsk.saveToDisk', "text/plain, application/vnd.ms-excel, text/csv, application/csv, text/comma-separated-values, application/download, application/octet-stream, binary/octet-stream, application/binary, application/x-unknown")
Run Code Online (Sandbox Code Playgroud)

我很确定这application/x-unknown是适合你的那个,因为这是Firefox本身确定的文件的mime类型(适合我).

您还可以执行以下操作:

  • 使用Firefox手动下载此特定文件
  • 当打开"保存文件"弹出窗口时,选中"从现在开始自动执行此类文件"复选框并保存文件
  • 现在,转到帮助 - >疑难解答信息
  • 找到配置文件目录并保存它的路径
  • 在您的Selenium代码中,通过FirefoxProfile指向此现有配置文件启动Firefox ,请在此处查看有关如何执行此操作的详细信息

  • @ Jcmoney1010好的,这是你可以做的:打开firefox,转到http://www.speedyshare.com/BeA45/d06d2a0a/StackOverflow.csv,点击慢速下载.当打开下载文件弹出窗口时,选择保存文件并选中"为此文件类型执行此操作"复选框.然后,转到帮助 - 疑难解答信息,找到当前firefox配置文件的路径.然后,当您通过selenium启动firefox时,请使用此现有配置文件,请参阅:http://stackoverflow.com/questions/6787095/how-to-stop-selenium-from-creating-temporary-firefox-profiles-using织网,驱动程序. (2认同)