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

Windows系统下Selenium ChromeDriver设prompt_for_download=False无法下载文件怎么办?

解决Windows下Selenium ChromeDriver自动下载失败的问题

针对你遇到的问题,以下几个方案可以尝试:

1. 修复Windows路径转义问题

你的代码里下载路径'C:\mydownload'存在转义字符问题——Python中\m会被解析为转义序列,导致实际路径不正确。你可以用三种方式修正:

  • 使用原始字符串:r'C:\mydownload'
  • 使用双反斜杠:'C:\\mydownload'
  • 使用正斜杠:'C:/mydownload'

2. 确保下载目录存在

如果指定的下载文件夹C:\mydownload不存在,ChromeDriver无法自动创建目录,会导致下载失败。可以在代码开头添加目录创建逻辑:

import os
download_dir = r'C:\mydownload'
if not os.path.exists(download_dir):
    os.makedirs(download_dir)

3. 添加安全浏览相关偏好设置

Windows下Chrome的安全浏览机制可能拦截ChromeDriver的自动下载,需要在prefs里补充以下配置:

'safebrowsing.enabled': False,
'safebrowsing.disable_download_protection': True

4. 确认ChromeDriver与Chrome版本匹配

虽然webdriver-manager会自动匹配版本,但偶尔可能出现同步延迟。可以手动检查Chrome版本(Chrome菜单→帮助→关于Google Chrome),然后指定版本安装:

wd = webdriver.Chrome(ChromeDriverManager(version="你的Chrome版本号").install(), options=o)

修正后的完整代码示例:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import os

# 创建下载目录
download_dir = r'C:\mydownload'
if not os.path.exists(download_dir):
    os.makedirs(download_dir)

o = webdriver.ChromeOptions()
o.add_experimental_option('prefs', {
    'download.default_directory': download_dir,
    'download.prompt_for_download': False,
    'download.directory_upgrade': True,
    'plugins.always_open_pdf_externally': True,
    'safebrowsing.enabled': False,
    'safebrowsing.disable_download_protection': True
})
wd = webdriver.Chrome(ChromeDriverManager().install(), options=o)
wd.get('https://file-examples.com/wp-content/storage/2017/10/file-sample_150kB.pdf')
# wd.quit()

内容的提问来源于stack exchange,提问作者Nam G VU

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:40:18