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

使用Selenium与Python将文件保存到指定磁盘位置时下载失败求助

解决Selenium Chrome下载文件到指定路径失败的问题

以下是针对你遇到的下载错误的具体修复建议:

  • 修正下载路径配置
    Windows路径的解析需要注意格式,同时补充Chrome下载相关的配置参数,避免弹窗或路径识别异常:

    options = Options()
    options.add_experimental_option("prefs", {
        "download.default_directory": r"D:\\",  # 用双反斜杠确保路径被正确识别
        "download.prompt_for_download": False,  # 自动下载,不弹出确认窗口
        "download.directory_upgrade": True,
        "safebrowsing.enabled": True  # 启用安全浏览规则,避免合法文件被拦截
    })
    
  • 确认ChromeDriver与Chrome版本匹配
    ChromeDriver的版本必须和本地安装的Chrome浏览器主版本号一致,版本不兼容会导致下载等核心功能失效。替换为对应版本的ChromeDriver后重试。

  • 检查目标路径的写入权限
    D盘根目录可能需要管理员权限才能写入,建议创建一个子文件夹(如D:\selenium_downloads)并设置路径到该文件夹,同时确保文件夹有写入权限:

    import os
    download_folder = r"D:\selenium_downloads"
    if not os.path.exists(download_folder):
        os.makedirs(download_folder)
    options.add_experimental_option("prefs", {"download.default_directory": download_folder})
    
  • 优化页面交互逻辑
    部分网站会检测自动化行为,需要确保页面完全加载后再触发下载,可添加滚动和额外等待:

    driver.get("http://www.aastocks.com/tc/stocks/market/high-low-stocks.aspx?catg=1&period=3&t=1")
    # 等待元素加载并滚动到可见位置
    download_btn = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "ts2_icon_excel")))
    driver.execute_script("arguments[0].scrollIntoView();", download_btn)
    # 确认元素可点击后再执行点击
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, "ts2_icon_excel"))).click()
    
  • 临时关闭安全浏览(仅信任网站使用)
    如果安全浏览机制误拦截了下载,可临时关闭该选项(注意风险):

    options.add_experimental_option("prefs", {
        "safebrowsing.enabled": False,
        "download.default_directory": r"D:\\"
    })
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:35:40