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

Chrome WebDriver无头模式下下载功能失效问题求助

解决Chrome无头模式下下载失效的问题

核心原因

Chrome传统无头模式(--headless)与正常浏览器环境差异较大,默认禁用了部分下载相关功能,导致配置的下载参数无法生效。

解决方案

方案一:使用新版无头模式(推荐,Chrome 112+)

Chrome 112及以上版本推出的新无头模式,行为更接近正常Chrome浏览器,原生支持下载功能,只需替换原有headless参数:

chrome_options.add_argument('--headless=new')
chrome_options.add_argument("disable-gpu")
chrome_options.add_experimental_option("prefs", {
    "download.default_directory": fold_name,  # 确保此处为绝对路径
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "safebrowsing.enabled": True
})

方案二:适配旧版无头模式(Chrome <112)

若使用旧版本Chrome,需额外添加参数解锁下载限制:

  • --remote-debugging-port=9222:开启远程调试端口,允许无头模式执行下载操作
  • --disable-features=VizDisplayCompositor:解除可视化相关功能限制
  • 确保download.default_directory为绝对路径(相对路径在无头模式下无法被正确识别)

修改后的代码示例:

chrome_options.add_argument('headless')
chrome_options.add_argument("disable-gpu")
chrome_options.add_argument('--remote-debugging-port=9222')
chrome_options.add_argument('--disable-features=VizDisplayCompositor')
chrome_options.add_experimental_option("prefs", {
    "download.default_directory": "/绝对路径/目标文件夹",  # 替换为实际绝对路径
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "safebrowsing.enabled": True
})

额外注意事项

  • 确认目标文件夹具备写入权限,无头模式运行的进程可能因权限不足导致下载失败
  • Linux环境下可能需添加--no-sandbox参数,规避沙箱机制对下载的限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:05