Puppeteer 是否在页面上运行 JavaScript?

ona*_*sar 2 puppeteer

我正在使用 Puppeteer 执行一些测试任务,但有点困惑:
Puppeteer 是否运行它遇到的 JavaScript?具体来说,我们的应用会触发一堆请求(例如加载 Stripe、Facebook 等),我想确保代码在 Puppeteer 请求期间运行。

Dai*_*Dai 5

Puppeteer 是否在页面上运行 JavaScript?

是的,它确实。

Puppeteer 会运行它遇到的 JavaScript 吗?

是的,它确实。

默认情况下启用 JavaScript:

虽然 Puppeteer 的文档没有明确说明默认启用 JavaScript,但他们的教程文档确实说它默认以无头模式启动 ChromeChrome 的无头模式默认启用 JavaScript,因此 Puppeteer 默认启用 JavaScript)。

您可以启用或禁用它 page.setJavaScriptEnabled(boolean): Promise<void>

https://pptr.dev/#?product=Puppeteer&version=v5.2.1&show=api-pagesetjavascriptenabledenabled

您可以检查它是否已启用 page.isJavaScriptEnabled(): boolean


具体来说,我们的应用会触发一堆请求(例如加载 Stripe、Facebook 等),我想确保代码在 Puppeteer 请求期间运行。

使用 Puppeteer 的 Code Coverage 功能来测试您的 JavaScript 是否实际执行,包括您要运行的行和函数。

这个(不相关的)博客页面有一个例子