To use puppeteer with existing chrome browser,我们需要使用参数–remote-debugging-port=9222
启动chrome,然后读取打印输出,如下所示
$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check
DevTools listening on ws://127.0.0.1:9222/devtools/browser/41a0b5f0–6747–446a-91b6–5ba30c87e951
这个URL,ws://127.0.0.1:9222/devtools/browser/41a0b5f0–6747–446a-91b6–5ba30c87e951
是用来连接peppeteer到chrome实例的。每次启动应用程序时,它都会发生变化。在基于macOS或Unix的操作系统上,这不是问题。
然而,当在windows上启动chrome时,将不会有它的打印输出。这些是我用来在Winodws上启动chrome的命令行
start chrome.exe –remote-debugging-port=9222
或者,在powershell中
Start-Process "chrome.exe" -ArgumentList -remote-debugging-port=9222
有没有办法在Windows上获得这样的URL?
发布于 2019-07-02 21:21:10
browserURL
选项将为您完成这项工作。您可以执行以下操作:
const browser = await puppeteer.connect({browserURL: 'http://127.0.0.1:9222'});
木偶人将为您调用json/version
端点。
发布于 2019-07-02 14:29:47
转到http://127.0.0.1:9222/json/version
,您将在webSocketDebuggerUrl
下看到它
{
"Browser": "Chrome/75.0.3770.100",
"Protocol-Version": "1.3",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
"V8-Version": "7.5.288.23",
"WebKit-Version": "537.36 (@cd0b15c8b6a4e70c44e27f35c37a4029bad3e3b0)",
"webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/b0662788-1cfe-4ddb-9ed0-04c4ce95e1d2"
}
也就是说,在我的例子中,是"ws://127.0.0.1:9222/devtools/browser/b0662788-1cfe-4ddb-9ed0-04c4ce95e1d2"
https://stackoverflow.com/questions/56846538
复制相似问题