如何以编程方式 运行 Lighthouse 在身份验证墙后面?

How to run Lighthouse programmatically behind an authentication wall?

我想 运行 在身份验证墙后面进行 Lighthouse 审核。例如,下面我尝试使用 PageSpeed Insights 运行 Lighthouse 到通常解析为我的 Gmail 帐户的 URL。但是,如下所示,Lighthouse 审核 运行 针对的是登录页面,而不是我的 Gmail。

因此,我怎样才能 运行 Lighthouse 以编程方式在身份验证墙后面? 我知道我可以登录页面,导航到 DevTools -> Audits页面,并手动 运行 审核;但是,我想找出一种以编程方式执行此操作的方法(通过 PageSpeed Insights API 调用或以编程方式通过 DevTools 是最好的,但通过 NodeJS 也可以)。

似乎有 Lightouse 的 NPM 发行版:

https://www.npmjs.com/package/lighthouse

按照示例,您应该可以像这样使用它:

lighthouse --output html --output-path ./report.html

你不能只用灯塔'out of the box'。

google-lighthouse-puppeteer 但是允许您先使用 puppeteer 处理登录,然后 运行 lighthouse。

这是一条陡峭的学习曲线,但一旦您掌握了木偶操作,它就会开启许多自动化测试功能。