是否可以将 cookie 设置为 Page Speed Insights 测试?

Is it possible to set cookies to Page Speed Insights tests?

使用 WebPageTest 时,可以使用自定义脚本来设置 cookie。是否可以在 PageSpeed Insights 或 lighthouse 上执行相同的操作?

例如,在欧盟,您可能希望设置 cookie 以禁用 cookie 同意弹出窗口,对于已经同意网站 cookie 政策的重复用户,该弹出窗口不会出现。

页面速度洞察

Page Speed Insights (PSI) 旨在模拟首次访问网站的用户,因此您的 cookie 弹出窗口将始终显示。

它不缓存 cookie 或其他任何东西。无法向 PSI 发送 cookie。

浏览器中的灯塔

如果您在浏览器中使用 Lighthouse,只需取消选中顶部栏中的“清除存储”选项(您可能必须单击右上角的齿轮图标才能显示此选项),此时 运行页面两次(一次用于设置缓存),将存储 cookie,您将记录 运行 缓存图像、文件等

如果您想创建一个 运行 存储 cookie 但不缓存任何其他内容的地方,您可以转到开发人员工具中的应用程序选项卡并删除除 cookie 之外的所有内容。

然而,由于这并不代表现实世界的场景,我看不到任何好处,只是因为它回答了原始问题才被包括在内。

Lighthouse CLI + Puppeteer

要完全控制,您的最终选择是 运行 您自己机器上的 Lighthouse CLI。

The source code for Lighthouse is available on GitHub,设置、安装 chromium 等需要一些时间,但这是值得的。

到那时您将拥有更多控制权,如果您将其与 Puppeteer 合作,那么您将拥有设置个人 cookie 等的所有控制权。

不过看起来确实 you should be able to pass cookies directly to Lighthouse via config according to this thread,但它可能行不通,最终还是推荐了 puppeteer。也许这是一项很快就会得到改进的功能。