首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用pupeteer指定下载目录?

Puppeteer 是一个 Node.js 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chrome 或 Chromium。默认情况下,Puppeteer 下载的文件会保存在系统的默认下载目录。如果你想指定下载目录,可以通过设置 page._client.send 方法来修改浏览器的下载行为。

以下是如何使用 Puppeteer 指定下载目录的步骤:

  1. 安装 Puppeteer(如果你还没有安装):
代码语言:txt
复制
npm install puppeteer
  1. 设置下载目录: 在启动浏览器时,你需要设置 downloadsPath 并禁用下载提示。
代码语言:txt
复制
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false, // 设置为 true 如果你想在无头模式下运行
    args: [
      `--disable-infobars`,
      `--window-position=0,0`,
      `--ignore-certifcate-errors`,
      `--allow-running-insecure-content`,
      `--disable-web-security`,
      `--use-fake-ui-for-media-stream`,
      `--disable-setuid-sandbox`,
      `--disable-dev-shm-usage`,
      `--disable-gpu`,
      `--disable-software-rasterizer`,
      `--disable-dev-shm-usage`,
      `--no-first-run`,
      `--no-sandbox`,
      `--no-zygote`,
      `--single-process`,
      `--disable-background-timer-throttling`,
      `--disable-backgrounding-occluded-windows`,
      `--disable-breakpad`,
      `--disable-client-side-phishing-detection`,
      `--disable-component-update`,
      `--disable-domain-reliability`,
      `--disable-features=EnableAdClickAttribution`,
      `--disable-hang-monitor`,
      `--disable-ipc-flooding-protection`,
      `--disable-renderer-backgrounding`,
      `--disable-sync`,
      `--disable-translate`,
      `--metrics-recording-only`,
      `--mute-audio`,
      `--no-default-browser-check`,
      `--no-experiments`,
      `--no-first-run`,
      `--no-pings`,
      `--no-sandbox`,
      `--no-zygote`,
      `--password-store=basic`,
      `--use-mock-keychain`,
      `--use-password-manager`,
      `--disable-blink-features=AutomationControlled`
    ]
  });

  const page = await browser.newPage();

  // 设置下载目录
  await page._client.send('Page.setDownloadBehavior', {
    behavior: 'allow',
    downloadPath: '/path/to/download' // 替换为你想要的下载目录路径
  });

  // 导航到包含下载链接的页面
  await page.goto('http://example.com');

  // 点击下载链接
  await page.click('#download-link');

  // 等待下载完成(这只是一个简单的例子,实际情况可能需要更复杂的逻辑来确定下载何时完成)
  await page.waitForTimeout(5000);

  await browser.close();
})();

请确保替换 /path/to/download 为你希望保存下载文件的绝对路径。此外,上述代码中的 args 数组包含了一些常用的浏览器启动参数,你可以根据需要进行调整。

注意:在生产环境中使用时,确保下载目录是安全的,并且应用程序有权限写入该目录。

参考链接:

  • Puppeteer 官方文档: https://pptr.dev/
  • DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java jquery 文件下载_jquery下载教程_jquery下载文件到指定目录

jquery下载教程十分详细的为用户介绍了这款工具,在下载的时候应该如何进行操作,在完成点击将软件打开,如果出现空白的屏幕情况的话,需要点击程序的右键选择相关属性,并且将相关属性解锁。...更多软件咨询体验,请前往QQ下载站 jquery下载的文件是需要放到指定的文件目录中的,如果对这款工具下载文件的核心进行了解的话,就会发现其中有三个js的文件,一个就是核心的包,另外两个是扩展包,这两个扩展包分别是复选框的功能包...当用户使用jquery下载软件的时候,核心包必须要进行加载的,并且按照这种扩展包的实际需求进行加载这种结构有利于日后不断开发各种辅助功能或者工具,而且对基本的功能不会造成影响。...jquery下载文件到指定目录之后利用这种工具下载的各种图片或者文件数据,也会直接放到指定目录之中,在应用这种软件时,主要的图标都会合并成一个图片,利用图片接歌的方式可以显示图标。...更多下载体验,请前往QQ下载站:https://www.qqxiazai.com/ 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134943.html原文链接:https

2.8K20
  • 把UNPKG网站中指定目录的文件全部下载到本地把UNPKG网站中指定目录的文件全部下载到本地

    把UNPKG网站中指定目录的文件全部下载到本地 例如: 现在vue.js使用很广泛,饿了么的element-ui基于vue.js开发的ui框架。...但是有时候需要下载到本地项目中引入(比如不能上网的时候),我们可以用到的时候,事先在网上一个一个的下载,很麻烦的。简单写一个Groovy的小脚本,直接从unpkg上下载到本地磁盘。代码亲测ok。...String libName = "element-ui" @Field //要下载的版本号,可以根据实际情况来修改 String libVersion = "2.13.2" //下载到本地的根目录...addons" @Field File fileDownloadPath = new File(downloadPath + "/" + libName + "/" + libVersion) //先清空目录...tempFile = enumFilesList.pop() // 移除并返回列表的第一个元素 if (tempFile.type.equals("directory")) { //是目录

    3.9K10

    下载整个Yum源的所有安装包到本地指定目录

    下载整个Yum源中所有安装包至本地指定目录 1.准备要下载到本地的Yum源(阿里源、清华源) 2.查看Yum源情况 [root@centos ~]# yum repolist 已加载插件:fastestmirror...3.下载整个Yum源中所有安装包到本地服务器上 reposync:该命令很强大,可以将远端Yum仓库里面的所有安装包全部下载到本地目录中。该命令是来自于 yum-utils 软件包里面的。  ...常用参数说明:  -r :指定已经本地已经配置的 yum 仓库的 repo源的名称  -p :指定下载的路径 [root@centos ~]# yum -y install yum-utils...#执行安装软件包 [root@centos ~]# mkdir centos6 #创建本地Yum包存放目录 [root@centos ~]# yum repolist #查看Yum源的仓库标识名称...1,169 repolist: 7,929 [root@centos ~]# reposync -r extras -p /root/centos6/ #根据每个据仓库标识下载安装包到本地目录

    3K20

    CMAKE编译时如何自动下载第三方库并解压、安装到指定目录

    导语 在日常开发过程中难免会使用到第三方库或者需要将部分库分离另外存储,如果将库与代码放在一起难免会造成工程庞大,此时就可以采用将库与源码分离的方式,在编译时根据情况来判断是否需要下载。...步骤 下面来解析下具体操作步骤,以下以 oracle oci 库下载为例。...判断当前压缩包是否存在,如果不存在则开始根据设定的URL地址进行下载 ​ #判断压缩包是否已经存在 ​ IF(NOT LOCAL_OCI_LIB_ZIP) ​...​ IF(ERR EQUAL 0) ​ #如果下载无错误则设置压缩包名称标记下载成功 ​ SET(LOCAL_OCI_LIB_ZIP "${LOCAL_OCI_LIB_ZIP_DL_DIR...INCLUDE_DIRECTORIES 命令可以设置引用头文件包括路径 ​ LINK_DIRECTORIES 命令可以设置引用第三方库文件所在路径 编译完成后可以使用INSTALL命令将后续应用运行时需要使用的库,拷贝到指定的安装目录

    1.5K30

    【深度学习系列】用PaddlePaddle进行人脸识别

    上个案例中我们讲了如何用PaddlePaddle进行车牌识别的方法,这次的案例中会讲到如何用PaddlePaddl进行人脸识别,在图像识别领域,人脸识别也属于比较常见且成熟的方向了,目前也有很多商业化的工具进行人脸识别...由于图像中存在很多干扰因素,外部因素:清晰度、天气、角度、距离等;目标本身因素:胖瘦,假发、围巾、银镜、表情等。所以神经网络一般需要比较多的训练数据,才能从原始的特征中提炼出有意义的特征。...人脸特征:找到人脸的一些关键特征或位置,眼镜、嘴唇、鼻子、下巴等的位置,利用特征点间的欧氏距离、曲率和角度等提取特征分量,最终把相关的特征连接成一个长的特征向量。...:http://vis-www.cs.umass.edu/lfw/lfw.tgz 先将下载的图片集,解压到项目目录下的lfw目录下,也可以自己指定目录(修改代码中的input_dir变量),程序中使用的是...2)定义输入、输出目录,文件解压到当前目录./data/my_faces目录下。

    2.9K80

    何用 Python 脚本批量下载 Google 图像?

    问题 《如何用Python和深度神经网络识别图像?》一文中,我给你展示了如何用深度学习,教电脑区分机器人瓦力和哆啦a梦。...(视频教程)》一文,学习如何下载安装 Anaconda ,和进行终端命令行操作。 尝试 进入下载目录: cd ~/Downloads 我们尝试下载一些图片。...后面的 -l ,指的是"limit",也就是图片数量限定,你需要指定自己要下载多少张图像。 本例中,我们要20张。 下面是执行过程: 执行完毕。 可以看到,下载过程中,发生了一个错误。...你只需要下载 chromedriver ,并且指定路径。 下载链接在这里。 请根据你的操作系统类型,选择合适的版本: 我选的是 macOS 版本。...下载后,压缩包里面只有一个文件,把它解压,放在 ~/Downloads 目录下。

    1.9K20

    何用Python智能批量压缩图片?

    然后,对超过2M的图片,按照原先的宽高比压缩后,存储到一个指定的文件夹里面去。 环境 我们使用Python集成运行环境Anaconda。 请到这个网址 下载最新版的Anaconda。...因为图片存储在了样例目录的子目录image下面,所以只需要指定为"image"就好了。 source_dir = 'image' 下面我们设置压缩后图片的输出目录。...我们须要遍历image目录,找出全部的图片名称。 这里我们用到的,是glob软件包。其中的glob函数可以在我们指定目录里,寻找所有符合要求的文件。...小结 总结一下,通过本文我们接触到了以下知识点: 如何利用glob软件包遍历指定目录,获得符合条件的全部文件路径列表; 如何用PIL图像处理工具读取图像文件,检查宽度、高度,重新设定图像大小,并且存储新生成的图像...; 如何用os函数库检查文件或目录是否存在,创建目录,以及获取文件尺寸。

    1.8K20

    实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑

    基本思路 App启动时,判断特定的服务器接口所返回的图片url是否为最新,判断方式就是比对返回值中的md5字段与本地保存的资源的url是否一致; 如果图片资源有更新,则下载解压到指定的缓存目录,初步打算以资源文件的...如何基于图片缓存信息来找到指定的缓存目录?...如何解压文件到指定目录?...建议是在下载并解压资源文件到指定缓存目录后,再更新补丁的相关缓存信息,因为这个信息,读取图片时,也是需要的.如果删除某个补丁,按照目前的设计,一种比较偷懒的方案就是,在服务器上放上一个新的空资源文件就可以了...如何用基础的网络类库下载文件?

    1.1K50

    何用Python提取中文关键词?

    他向我询问方法,我推荐他阅读我的那篇《如何用Python从海量文本提取主题?》。 看过之后,他表示很有收获,但是应用场景和他自己的需求有些区别。 《如何用Python从海量文本提取主题?》...请到这个网址 下载最新版的Anaconda。下拉页面,找到下载位置。根据你目前使用的系统,网站会自动推荐给你适合的版本下载。我使用的是macOS,下载文件格式为pkg。...解压后的目录名称为,样例目录包含以下内容: 除了README.md这个github项目默认说明文件外,目录下还有两个文件,分别是数据文件sample.txt和程序源代码文件demo-extract-keyword.ipynb...如果你不做特殊指定的话,默认显示数量为20个关键词。 显示内容之前,会有一些提示,不要管它。 然后列表就出来了: 我看了一下,觉得关键词提取还是比较靠谱的。...如果你需要修改关键词数量,就需要指定参数。例如你要输出10个关键词,可以这样执行: 下面我们尝试另一种关键词提取方式——TextRank。

    2K80

    2-HC32F460(华大)+Air724UG(4G GPRS)远程升级篇(自建物联网平台)

    3.网站根目录就是在浏览器上输入网站IP地址或者域名后默认访问的地址 http://mnif.cn 默认访问以上目录里面的 index.html 文件 4.指定访问 http://mnif.cn...2.点击进入网站根目录 3.网站根目录 4.所谓网站根目录就是在浏览器上输入网站IP地址或者域名以后默认访问的位置 http://47.111.116.198 默认访问以上目录里面的 index.html...文件 4.指定访问 http://47.111.116.198/1.txt 5.访问其他文件夹里面的文件 http://47.111.116.198/文件夹/具体文件 更近一步 1.大家需要明白...2.看一下如何用TCP调试助手下载1.txt文件 打开调试助手 ①: mnif.cn:服务器的IP地址 80:网站的http访问默认是80端口 点击启用 以上就用TCP连接上了 web服务器 ②:...9字节的数据,就是在加一个 Range: bytes=6-9 利用分段下载可以设置每次要多少,这样子的话容量再小的单片机也可以实现http下载文件数据 结语 在后面的章节中,单片机控制网络模块以TCP

    65330

    2-STM32+CH395Q(以太网)远程升级篇(自建物联网平台)

    3.网站根目录就是在浏览器上输入网站IP地址或者域名后默认访问的地址 http://mnif.cn 默认访问以上目录里面的 index.html 文件 4.指定访问 http://mnif.cn...2.点击进入网站根目录 3.网站根目录 4.所谓网站根目录就是在浏览器上输入网站IP地址或者域名以后默认访问的位置 http://47.111.116.198 默认访问以上目录里面的 index.html...文件 4.指定访问 http://47.111.116.198/1.txt 5.访问其他文件夹里面的文件 http://47.111.116.198/文件夹/具体文件 更近一步 1.大家需要明白...2.看一下如何用TCP调试助手下载1.txt文件 打开调试助手 ①: mnif.cn:服务器的IP地址 80:网站的http访问默认是80端口 点击启用 以上就用TCP连接上了 web服务器 ②:...9字节的数据,就是在加一个 Range: bytes=6-9 利用分段下载可以设置每次要多少,这样子的话容量再小的单片机也可以实现http下载文件数据 结语 在后面的章节中,STM32控制网络模块以

    45420

    如何可视化地查看 Linux 系统磁盘使用情况?

    首先可以下载它的源码: $ wget https://github.com/zevv/duc/releases/download/1.4.4/duc-1.4.4.tar.gz 然后再使用以下命令去编译并完成安装...如果想要列出当前工作目录下所有的文件及目录,你可以运行: $ duc ls 如果需要列出特定目录下的文件及目录:/home/alvin/Downloads ,只需将路径传递给上述命令即可: $ duc...可视化磁盘使用情况 在以上部分,我们已经知道了如何用 duc 命令来列出文件及目录。但是,这样并不直观。我们还可以使用图表来显示文件的尺寸。...在这个结果里,ls 子命令查询并列出了指定目录里所有的文件及目录,并用图表的方式显示出来。...如果不指定目录的话,那么默认将是当前目录的使用情况。 你还可以使用 -R 选项来以树状的形式来查看磁盘使用情况: $ duc ls -R /home/alvin ?

    2.2K20
    领券