6

我正在使用 selenium 进行网络抓取,每当我尝试下载时,我都会将 firefox 下载/保存为文件弹出但是,即使我申请profile.set_preference('browser.helperApps.neverAsk.saveToDisk', "application/csv"),它仍然无法正常工作,我已经尝试了每个 .csv 相关的 MIME,但不起作用,是可以单击save as单选按钮,然后单击ok对话框或完全禁用它。

4

3 回答 3

3

您应该做两件事,首先将这三个首选项设置如下(这是在 Java 中,但我想您设法将其转换为 python :-):

profile.setPreference("browser.download.dir", "c:/yourDownloadDir");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/csv, text/csv");

其次,您应该确保下载文件具有所需的 mime 类型。为此,您可以使用 Web 开发人员工具并检查下载。

编辑:

要找出 MIME 类型打开 Chrome,请按Ctrl+ Shift+ I(在 Mac OS 上为 Cmd+Alt+I)切换到“网络”选项卡,然后单击您的下载链接。您应该看到如下内容:

Chrome 开发者工具 mime 类型

于 2012-08-28T10:02:09.663 回答
2

只是一个可能对某人有所帮助的附加答案,因为对已接受答案的评论使我走上了正确的轨道(谢谢!)。您可能正在处理的另一种 MIME 类型的 CSV 是application/x-csv - 这是我的情况,一旦我在浏览器的“网络”选项卡中查找它,我就变得更快乐了 :)

于 2016-01-06T21:18:27.527 回答
0

在 C# 中

FirefoxOptions options = new FirefoxOptions();
options.SetPreference("browser.download.folderList", 2);
options.SetPreference("browser.download.manager.showWhenStarting", false);
options.SetPreference("browser.download.dir", "c:\\temp");
options.SetPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv");
于 2018-06-21T21:47:59.053 回答