You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium实现Firefox浏览器zip文件自动下载并规避下载弹窗

解决方案

原因说明

你遇到弹窗的核心原因有两个:

  1. 仅配置了application/zip这一种MIME类型,很多站点返回zip文件时实际用的是application/x-zip-compressed、application/octet-stream等其他MIME类型,不在白名单内就会触发确认弹窗
  2. 缺失了禁止打开选项、强制绕过确认的关键配置项,且旧写法在新版Selenium中兼容性不足

修改后的完整配置

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

# 新版Selenium推荐用Options加载配置,兼容性更好
options = Options()
profile = webdriver.FirefoxProfile()

# 原有基础配置
profile.set_preference('browser.download.folderList', 2) # 使用自定义下载目录
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', '/tmp') # 可替换为自己的下载路径

# 核心修改:补充所有常见zip相关MIME类型,同时配置保存和打开都不询问
zip_mime_types = 'application/zip,application/x-zip,application/x-zip-compressed,application/octet-stream'
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', zip_mime_types)
profile.set_preference('browser.helperApps.neverAsk.openFile', zip_mime_types)

# 新增关键配置,彻底禁用弹窗
profile.set_preference('browser.helperApps.alwaysAsk.force', False)
profile.set_preference('browser.download.forbid_open_with', True) # 禁用"打开"选项,直接下载
profile.set_preference('browser.download.manager.alertOnEXEOpen', False)
profile.set_preference('browser.download.manager.focusWhenStarting', False)
profile.set_preference('browser.download.manager.useWindow', False)
profile.set_preference('browser.download.manager.showAlertOnComplete', False)
profile.set_preference('browser.download.manager.closeWhenDone', False)
profile.set_preference('services.sync.prefs.sync.browser.download.manager.showWhenStarting', False)
profile.set_preference('pdfjs.disabled', True)

# 把profile加载到options中启动
options.profile = profile
driver = webdriver.Firefox(options=options)

可选排查步骤

如果修改后仍有弹窗,可以手动确认目标站点的实际MIME类型:

  • 用本地Firefox手动触发一次下载,按F12打开开发者工具,切换到「网络」标签,找到下载请求的响应头,查看Content-Type的实际值,把该值补充到上面的zip_mime_types中即可。

内容的提问来源于stack exchange,提问作者akhil seeramsetty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:57:02