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

如何在Nodriver中设置浏览器下载目录?附新手适用脚本

使用Nodriver设置固定浏览器下载路径的实现脚本

前置准备

先确保你已经安装了Nodriver库,执行以下命令安装:

pip install nodriver

完整实现脚本

import nodriver
from pathlib import Path

# 定义你的目标下载路径(替换成你自己的路径即可)
DOWNLOAD_PATH = str(Path.home() / "Downloads" / "NodriverAutoDownloads")

async def main():
    # 配置Chrome浏览器的下载偏好
    chrome_options = nodriver.ChromeOptions()
    prefs = {
        "download.default_directory": DOWNLOAD_PATH,  # 设置默认下载目录
        "download.prompt_for_download": False,  # 关闭下载确认弹窗
        "download.directory_upgrade": True,  # 路径不存在时自动创建
        "safebrowsing.enabled": True  # 可选:启用安全浏览避免下载被拦截
    }
    chrome_options.add_experimental_option("prefs", prefs)

    # 用配置初始化浏览器
    browser = await nodriver.start(options=chrome_options)
    page = await browser.get("https://example.com")  # 打开测试页面

    # 测试下载(替换成你需要的下载链接定位逻辑)
    # 示例:查找页面中的PDF下载链接并点击
    download_link = await page.find("a[href$='.pdf']")
    if download_link:
        await download_link.click()
        await nodriver.sleep(5)  # 等待文件开始下载
    
    # 关闭浏览器
    await browser.close()

if __name__ == "__main__":
    nodriver.run(main())

关键配置说明

  • download.default_directory:指定所有下载文件的保存路径,用Path对象转换可适配Windows、Mac、Linux等不同系统
  • download.prompt_for_download:设为False后,下载文件时不会弹出确认框,自动保存到指定路径
  • download.directory_upgrade:如果指定的下载路径不存在,浏览器会自动创建该目录,避免报错

注意事项

  • 确保你指定的路径有读写权限
  • 可根据实际下载需求调整脚本中元素定位的逻辑(比如替换成你需要下载的链接选择器)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:07:06