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

如何使用Puppeteer通过WhatsApp Web发送带附件的消息

关于WhatsApp Web程序化发送带附件消息的问题解答

你已经用Puppeteer通过WhatsApp Web的send URL实现了文本消息发送,但这个官方URL方案本身不支持直接传递附件参数,下面针对你的问题逐一说明:

1. 附件参数值是否有特定的编码要求?

不存在这个说法——因为WhatsApp Web官方提供的send格式URL(就是你用的https://web.whatsapp.com/send?phone=...&text=...)根本没有设计附件相关的URL参数,所以不存在所谓的编码要求。

2. WhatsApp Web URL中附件参数的格式或结构是什么?

同样,官方的send URL不支持通过参数指定附件,不管是独立URL、本地文件路径还是其他格式都不行。如果要发送附件,必须通过模拟用户在WhatsApp Web界面上的操作来完成,而不是靠URL参数。

3. Puppeteer生态中有没有可简化消息附件发送流程的替代方法或库?

有不少现成的封装库可以省去自己写Puppeteer操作的麻烦:

  • whatsapp-web.js:基于Puppeteer封装的WhatsApp Web操作库,API非常直观,支持直接传入远程文件URL或者本地文件路径来发送附件,无需手动模拟点击上传的流程。
  • wwebjs-multi-device:是whatsapp-web.js的分支,适配了WhatsApp Web的多设备版本,避免了旧版需要扫码绑定单设备的限制。

如果坚持自己用原生Puppeteer实现,核心步骤大概是:

  1. 打开目标聊天窗口(可以用你现有的send URL跳转,或者直接通过选择器定位聊天);
  2. 找到附件按钮(通常选择器是div[title="附件"],具体可在WhatsApp Web上检查元素确认)并点击;
  3. 定位文件上传的input[type="file"]元素,用Puppeteer的page.setInputFiles()方法传入本地文件路径;如果是远程URL的文件,需要先下载到本地临时目录,再传入路径;
  4. 等待附件加载完成后,点击发送按钮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:07:14