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

如何在Puppeteer会话中追踪Cookie的设置发起者?

如何在Puppeteer会话中追踪Cookie的设置来源

我正在尝试找出如何在Puppeteer会话里追踪哪些脚本或域名正在设置Cookie,核心目的是映射引入的第三方库的各类活动(比如Cookie操作、DOM变更、网络请求等),进而可视化分析它们对网站性能可能造成的影响。

目前通过调用CDPSession的Network.getAllCookies命令,或是直接使用await page.cookies,都能轻松列出已设置的Cookie,但这些方法只能展示最终设置的内容,无法得知是谁(哪个脚本或域名)设置了它们。

我曾尝试查看Chrome DevTools协议监视器,但依然看不到Cookie设置时触发的事件。虽然可以从网络响应中提取Set-Cookie头,但这种方式覆盖不了嵌入式脚本通过document.cookie设置Cookie的场景。

示例补充

为了更清晰地演示问题,我准备了一个示例项目:

  • 项目的/docs目录下有一个index.html文件,对应一个可访问的页面,页面通过<head>中的脚本引入了LogRocket
  • LogRocket初始化时会设置几个前缀为_lr_的Cookie,这些Cookie并非由本地代码设置,而是由混淆后的LogRocket JavaScript库通过document.cookie设置的
  • 项目中还有一个基础的Puppeteer脚本script.js,它会加载上述页面,输出CDPSession请求,最后输出两种Cookie获取方法的结果。执行npm install安装依赖后,可通过node script.js运行该脚本

理想情况下,每个Cookie应该关联一个initiator字段来标识设置来源,但目前我能获取到的最接近的信息只有domain,它仅表示Cookie的作用域,对追踪来源没有实际帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:06:07