Selenium Python指定下载路径失效,文件自动下载至当前目录问题排查
Chrome Headless模式下载路径失效的排查原因
以下是可能导致下载路径配置失效的常见原因及对应解决方案:
Chrome版本更新引发配置逻辑变更
Chrome迭代可能修改了下载偏好的生效条件,仅设置download.default_directory已无法覆盖默认行为。需补充配置强制禁用下载提示、允许目录升级:prefs = { "download.default_directory": "/home/user/Documents/project/downloads", "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing.enabled": True # 可选,规避安全策略拦截下载 }旧版Headless模式兼容性问题
Chrome 112+版本区分了新旧两种headless模式,旧版--headless参数存在下载路径的兼容性bug。尝试切换为新版headless模式:options.add_argument("--headless=new")文件类型自动打开设置干扰
若浏览器默认自动打开CSV这类文件,会绕过指定路径,临时打开后保存到默认目录。需禁用文件自动打开配置:prefs["download.extensions_to_open"] = "" # 禁止所有文件类型自动打开目标目录权限或存在性问题
指定的下载目录可能不存在,或运行脚本的用户无读写权限。提前创建目录并验证权限:import os download_dir = "/home/user/Documents/project/downloads" if not os.path.isdir(download_dir): os.makedirs(download_dir, exist_ok=True)ChromeDriver与Chrome版本不匹配
ChromeDriver版本必须和本地Chrome版本严格对应,版本不匹配会导致配置项失效。查看Chrome版本(通过chrome://version),下载对应版本的ChromeDriver替换。
内容的提问来源于stack exchange,提问作者Pratik Ghodke
相关产品推荐
相关产品推荐

