如何在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
相关产品推荐
相关产品推荐

