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

如何通过Python3+Selenium ChromeDriver指定位置下载文件?代码失效求助

解决ChromeDriver指定下载路径不生效的问题

我来帮你搞定这个下载路径的问题!你的代码里有几个容易踩的小坑,我给你一步步修正:

问题分析

  1. 下载路径的设置方式错了:你用add_argument来设置download.default_directory,但这个参数属于Chrome的偏好设置(prefs),得用add_experimental_option来添加,而不是启动参数。
  2. 弃用的参数:chrome_options在新版Selenium中已经被弃用,现在要改用options参数传递配置。
  3. 路径转义问题:虽然你用了双反斜杠,但用正斜杠/会更省心,避免转义出错。

修正后的完整代码

from selenium import webdriver

# 初始化Chrome选项
options = webdriver.ChromeOptions()

# 配置下载偏好:替换成你想要的目标路径
download_prefs = {
    "download.default_directory": "C:/Users/ASUS/Your_Target_Folder",  # 这里改成你的指定路径
    "download.prompt_for_download": False,  # 关闭下载确认弹窗
    "profile.default_content_settings.popups": 0  # 禁用弹出窗口,防止干扰下载
}

# 将偏好设置添加到Chrome选项中
options.add_experimental_option("prefs", download_prefs)

# 初始化驱动:注意用options参数,不是chrome_options
driver = webdriver.Chrome(executable_path=r"C:\Users\ASUS\Downloads\chromedriver.exe", options=options)
driver.implicitly_wait(30)

额外注意事项

  • 版本匹配:确保你的ChromeDriver版本和本地Chrome浏览器版本完全对应,版本不兼容会导致各种奇怪问题(比如配置不生效)。
  • 特殊文件处理:如果是下载PDF这类Chrome默认会直接打开的文件,需要再加一行配置:"plugins.always_open_pdf_externally": True,强制Chrome下载而不是打开。
  • 路径有效性:指定的目标路径必须是已经存在的文件夹,否则Chrome会自动回退到默认的Downloads目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:20:10