一尘不染

在带有Selenium的FireFox中设置首选项时,MIME类型出现问题

selenium

这是我几个星期以来一直在努力解决的问题,但似乎找不到可行的解决方案。简而言之,我的程序进入了一个网站并下载了一些文件。当下载文件时,FireFox始终显示弹出窗口,询问我要将文件保存到的位置。为了摆脱此弹出窗口,我创建了一个配置文件首选项。

profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip,application/vnd.ms-excel");

此首选项非常适合我需要下载的一个zip文件,但对于我需要的其他3个Microsoft
CSV文件却完全忽略了。我尝试了所有我能想到的适用的哑剧类型,但都没有起作用。我通过一个在线程序运行了文件,该程序应该告诉您该文件是什么mime类型,并且它宣称我测试的文件是application/vnd.ms- excel。但是不幸的是,我从来没有能够使这种类型的工作。我尝试了各种不同的方式来设置配置文件,例如:

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

甚至只是application/vnd.ms- excel不使用zip前面的类型而使用,仍然没有骰子。还有另一种方法可以设置为每次尝试下载这些文件时都没有弹出窗口的地方吗?更好的是,我的代码是否有问题,该错误会允许zip文件工作,而Microsoft
csv却无法工作?


阅读 436

收藏
2020-06-26

共1个答案

一尘不染

这是一组特定于CSV的MIME类型,适用于此处的其他用户:

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

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

您还可以执行以下操作:

  • 使用Firefox手动下载此特定文件
  • 当将打开“保存文件”弹出窗口时,选中“从现在开始自动对类似文件执行此操作”复选框,然后保存文件
  • 现在,转到帮助->故障排除信息
  • 找到配置文件目录并保存路径
  • 在您的Selenium代码中,使用FirefoxProfile指向该现有配置文件的Firefox启动Firefox,在此处了解有关操作的更多信息
2020-06-26