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

使用Python Seleniumbase设置Chrome下载目录失败求助

问题描述

我正在学习Python Selenium,遇到了无法修改Chrome默认下载目录的问题,希望能得到帮助。
我的环境为Python 3.10.11 / Selenium 4.10 / 最新版Chrome。

整个脚本运行无报错,但并未使用我指定的目录路径,而是在脚本运行目录下创建名为"downloaded_files"的子文件夹并将文件存入其中,相关代码如下:

from selenium import webdriver
from seleniumbase import Driver
from selenium.webdriver.chrome.service import Service
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

download_path = "\\\E275proddwdb\kyote"

# Set download folder
op = webdriver.ChromeOptions()
config = {"download.default_directory":download_path, "safebrowsing.enabled":"false"}
op.add_experimental_option("prefs", config)
op.headless = False

##Call Chrome Browser
service = Service()
options = webdriver.ChromeOptions()
browser = Driver(browser="chrome", headless=False) 
browser.get("https://www.kyote.org/mc/login.aspx?url=kplacementMgmt.aspx")
问题分析与解决

你的代码存在三个核心问题:

  • 配置的ChromeOptions未被实际使用
    你创建了op对象并配置了下载路径,但随后又重新创建了空的options对象,初始化Driver时完全没传入自定义配置。seleniumbase的Driver类需要通过参数传入设置好的ChromeOptions才能生效。

  • 网络路径格式错误
    download_path = "\\\E275proddwdb\kyote"是错误的路径格式:

    • Windows网络共享路径的正确格式应为r"\\E275proddwdb\kyote"(用原始字符串避免转义问题),或"\\\\E275proddwdb\\kyote"(手动转义反斜杠)。
    • 当前的\\\会被转义成\,\k会被解析为转义字符,实际路径变成\E275proddwdbkyote,导致路径无效,Chrome只能 fallback 到默认下载目录。
  • seleniumbase Driver的默认行为
    seleniumbase的Driver默认会创建downloaded_files文件夹作为下载目录,若未覆盖该设置,它会忽略通过ChromeOptions设置的路径。

修改后的代码

from selenium import webdriver
from seleniumbase import Driver

# 使用原始字符串处理网络共享路径,避免转义问题
download_path = r"\\E275proddwdb\kyote"

# 配置ChromeOptions
op = webdriver.ChromeOptions()
config = {
    "download.default_directory": download_path,
    "safebrowsing.enabled": "false"
}
op.add_experimental_option("prefs", config)
op.headless = False

# 初始化Driver时传入自定义options,同时禁用seleniumbase默认下载目录行为
browser = Driver(browser="chrome", options=op, headless=False, download_folder=None)
browser.get("https://www.kyote.org/mc/login.aspx?url=kplacementMgmt.aspx")

额外注意事项

  • 确保Python进程有权限访问\\E275proddwdb\kyote网络共享目录,否则Chrome会因权限问题无法写入,仍使用默认目录。
  • 若问题依旧,可尝试在config字典中添加"download.directory_upgrade": True,强制Chrome使用新的下载目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:10:36