Selenium 4.13 Python无法修改Chrome默认下载目录求助
Selenium 4.13 修改Chrome默认下载目录无效的解决方案
问题排查与修复点:
未传入配置好的ChromeOptions
你已经定义了包含下载目录设置的op对象,但启动Chrome时没有将其作为参数传入,导致所有配置都未生效。路径字符串转义错误
download_path = "c:\dev"中的\d会被Python解析为转义字符(匹配数字的正则符号),实际路径变成了c:ev,完全不符合预期。可以用三种方式修正:- 原始字符串:
r"c:\dev" - 双反斜杠:
"c:\\dev" - 正斜杠:
"c:/dev"
- 原始字符串:
可选补充配置
可以添加额外的偏好设置,避免下载弹窗、自动确认目录权限,提升稳定性。
修正后的完整代码:
from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from datetime import date import os import re import time import logging # begin copy #user ID and Pwd to access the web site # 修正路径写法,用原始字符串避免转义问题 download_path = r"c:\dev" # 确保目标目录存在,避免因目录不存在导致下载失败 os.makedirs(download_path, exist_ok=True) # Set download folder op = webdriver.ChromeOptions() config = { "download.default_directory": download_path, "download.prompt_for_download": False, # 关闭下载弹窗 "directory_upgrade": True, # 自动升级目录权限 "safebrowsing.enabled": True # 安全浏览设置,避免拦截下载 } op.add_experimental_option("prefs", config) op.headless = False ##Call Chrome Browser # 传入配置好的options参数 browser = webdriver.Chrome(options=op) browser.get("https://www.kyote.org/mc/login.aspx?url=kplacementMgmt.aspx") #end copy
验证步骤:
- 运行代码前,代码已自动确保
c:\dev目录存在 - 执行下载操作后,直接检查目标目录是否有文件生成
内容的提问来源于stack exchange,提问作者JimmyG
相关产品推荐
相关产品推荐

