有没有办法从 docker 容器以非 headless 模式启动 chrome?
我在 docker 容器和 headless chrome 容器中有一个 Node 应用程序,我可以在其中连接。到目前为止一切正常。为了演示 puppeteer 正在做什么,我想在主机系统上以非 headless 模式启动 chrome。这可能吗?
最佳答案
您可以在主机上手动启动 Chromium,然后使用 puppeteer.connect()
连接到其 WebSocket 端口。 - https://pptr.dev/#?product=Puppeteer&version=v1.8.0&show=api-puppeteerconnectoptions .不要忘记打开容器的 WS 端口。
我们还尝试在 Docker 容器内以非 headless 模式运行 Puppeteer,使用 XVFB(X 虚拟帧缓冲区)和 noVNC(https://github.com/novnc/noVNC)在屏幕上显示容器提供的 HTML 页面上的内容。但这对于调试来说并不理想。
如果您只想查看打开的页面及其屏幕截图,可以使用实时查看 https://github.com/apifytech/apify-js#puppeteer-live-view我们正是为此用例构建的。
关于node.js - Puppeteer:Chrome 远程启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52575652/