如何使用 Puppeteer 而不是选项卡打开一个新的 chrome 窗口?

问题描述 投票:0回答:0

我正在使用 puppeteer.connect() 连接到无头 chrome docker 图像。但是,在容器/操作系统中使用 puppeteer.launch() 是可行的,因为 chrome 和您的节点应用程序位于同一网络上,并且您可以生成多个窗口,每个窗口都有自己的选项卡。你如何使用 puppeteer.connect() 实现这一点?

将 Puppeteer 连接代码连接到独立的无头 chrome:

const response = await fetch(`http://192.168.100.100:9222/json/version`, {
            headers: {
                'Content-Type': 'application/json',
            }
        })
        const { webSocketDebuggerUrl } = await await response.json()
        const browser = await puppeteer.connect({
            browserWSEndpoint: webSocketDebuggerUrl
        })

Docker 镜像启动:

docker run -d -p 9223:9222 --name chromedp chromedp/headless-shell --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222 --disable-gpu --headless

我知道生成多个窗口可能会占用大量资源,但我的用例需要它。谢谢。

node.js puppeteer google-chrome-headless
© www.soinside.com 2019 - 2024. All rights reserved.