
Chrome浏览器在Selenium自动化中常因路径格式错误(如使用正斜杠/而非双反斜杠\)导致CSV下载被拦截,本文提供经验证的配置修复方案及关键注意事项。
chrome浏览器在selenium自动化中常因路径格式错误(如使用正斜杠`/`而非双反斜杠`\`)导致csv下载被拦截,本文提供经验证的配置修复方案及关键注意事项。
在使用Selenium + Chrome自动下载CSV文件时,即使已正确设置下载目录、禁用提示和安全浏览干预,Chrome仍可能静默阻止下载——常见表现是:页面触发下载动作后,文件未出现在目标目录,且浏览器右上角无下载图标或提示。根本原因往往并非策略配置缺失,而是Windows系统下Chrome偏好设置(prefs)中的路径分隔符不兼容。
Chrome驱动(chromedriver)在解析download.default_directory时,严格要求Windows路径使用双反斜杠 \ 作为分隔符(即Python原始字符串或转义后的路径),而单斜杠 / 或单反斜杠 均会导致该配置被忽略,从而回退至Chrome默认受限下载行为(如保存至“下载”文件夹并触发安全警告)。
✅ 正确配置示例如下:
from selenium import webdriver
options = webdriver.ChromeOptions()
# ✅ 关键:Windows路径必须使用双反斜杠 \(或使用原始字符串 r"...")
prefs = {
"download.default_directory": "D:\Lokale schijf\COMPANYNAME\datafiles\SOFTWEAR_STOCKDATA",
"download.prompt_for_download": False,
"download.directory_upgrade": True, # 推荐启用:确保目录权限升级生效
"safebrowsing.enabled": False, # ⚠️ 注意:设为False可彻底绕过下载保护(生产环境请评估风险)
}
options.add_experimental_option("prefs", prefs)
options.add_argument("--disable-popup-blocking")
# 移除已过时或无效参数(如 --safebrowsing-disable-download-protection 在新版Chrome中无效)
options.add_argument("--disable-features=DownloadBubble,DownloadBubbleV2,DownloadBubbleV3")
# 启动驱动
driver = webdriver.Chrome(options=options)
? 重要补充说明:
-
download.directory_upgrade: True是较新版本Chrome中推荐添加的选项,可增强对自定义下载路径的识别可靠性; -
safebrowsing.enabled: False虽能100%解除下载拦截,但会禁用Chrome安全浏览功能;若需保留安全防护,可保持为True,但必须确保路径格式绝对正确(双反斜杠)且目标目录真实存在、具有写入权限; - 务必提前创建目标下载目录(Selenium不会自动创建嵌套路径),否则下载将失败且无明确报错;
- 避免在路径末尾添加斜杠(如
"...SOFTWEAR_STOCKDATA\"),可能引发部分版本兼容问题; - 若仍失败,可在下载操作后加入简短等待(如
time.sleep(2))并检查driver.get("chrome://downloads/")页面确认下载状态。
通过修正路径分隔符这一关键细节,并辅以合理配置组合,即可稳定实现Chrome中Selenium驱动的CSV自动下载,无需更换浏览器。











