通过管道而不是 websocket 连接 Puppeteer 的优缺点是什么

Ond*_*ban 7 javascript webautomation node.js puppeteer

Puppeteer 支持使用 websocket(默认)或使用管道连接到浏览器。

puppeteer.launch({ pipe: true });
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么优点?为什么我会选择一个而不是另一个?它们的缺点是什么?

har*_*ded 6

pipes如果您在同一服务器中运行所有内容(puppeteer 和chromium),则应该是您的默认设置。他们甚至正在考虑将其设为默认值。优点是这是 puppeteer 和 Chromium 之间的私人联系。您没有向“世界”开放 WebSocket。缺点是您不能在另一个 puppeteer 进程中重用 Chromium 实例。

我认为您可以WebSockets从前面的段落中推断出优缺点。WebSocket如果您需要跨多个 puppeteer 进程或从不同的计算机共享一个 Chromium 实例,您将使用。

但性能上没有太大差异。

  • 我想补充一点,当在 PC 上使用 websocket 时,如果 PC 进入睡眠状态,则当 PC 唤醒时连接会丢失。使用管道,会话将按照您的预期继续进行 (3认同)