【问题标题】:Issue with mime type when setting preferences in FireFox with Selenium使用 Selenium 在 FireFox 中设置首选项时出现 mime 类型问题
【发布时间】:2016-04-19 03:42:54
【问题描述】:

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

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

此首选项适用于我需要下载的一个 zip 文件,但对于我需要的其他 3 个 Microsoft CSV 文件则完全忽略。我已经尝试了我能想到的所有适用的 mime 类型,但它们都不起作用。我通过一个在线程序运行我的文件,该程序应该告诉你文件是什么 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 工作?

【问题讨论】:

    标签: java firefox selenium mime-types


    【解决方案1】:

    这是一组特定于 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")
    

    我很确定 application/x-unknown 是适合您的,因为这是 Firefox 本身确定的文件的 mime 类型(对我有用)。

    您还可以执行以下操作:

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

    【讨论】:

    • 感谢您的快速回复。不幸的是,这些都没有奏效。我要拔头发了!
    • @Jcmoney1010 好的,你能把文件上传到某个地方吗(里面请不要有敏感数据),这样我也可以复制它吗?谢谢!
    • 是的,让我弄清楚上传到哪里。
    • 如果这不起作用,请告诉我。 wikisend.com/download/699908/StackOverflow.csv
    • @Jcmoney1010 好的,你可以这样做:打开 Firefox,转到 speedyshare.com/BeA45/d06d2a0a/StackOverflow.csv,点击慢速下载。当下载文件弹出窗口打开时,选择保存文件并选中为此文件类型复选框。然后,转到帮助 - 故障排除信息,找到当前 Firefox 配置文件的路径。然后,当您通过 selenium 启动 Firefox 时,请使用此现有配置文件,请参阅:stackoverflow.com/questions/6787095/…
    猜你喜欢
    • 2017-03-31
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2017-05-29
    • 2015-12-31
    • 1970-01-01
    • 2012-05-09
    相关资源
    最近更新 更多