node.js - Puppeteer:Chrome 远程启动

标签 node.js docker puppeteer

有没有办法从 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/

相关文章:

node.js - puppeteer 类型 node_modules/puppeteer/lib/types "' has no exported member ' Cookie'

javascript - 在 puppeteers 监听器 page.on 的回调之外捕获错误

docker - 如何从docker-compose中的容器访问localhost应用

docker - 添加命令docker镜像

docker - 在树莓派上运行docker时出错

javascript - Node Puppeteer,page.on( "request") 抛出 "Request is already handled!"

node.js - NodeJS : if I return mysql data to client in the end of request does it mean that having callbacks doesn't make sense?

android - 如何实现设备存储卡(ios & android)支付应用程序?

javascript - 从多个位置删除相同的值 Firebase 函数

node.js - 如何在 React 中显示组件并在每次显示时更新其生命周期?