PUPPETEER连接已经打开的Chrome电脑桌面
Posted on 日 10 十月 2021 in Puppeteer
PUPPETEER 连接已经打开的Chrome电脑桌面,不需要重新打开或登录账号
-
参考
- https://medium.com/@jaredpotter1/connecting-puppeteer-to-existing-chrome-window-8a10828149e0
-
问题
- 总是打开一个新的、独立的、隔离的 Chrome 实例,而无法访问 任何现有的用户状态
- 一般都是打开 Chronium
-
重点
- 打开remote-debugging-port远程调试端口
命令行
-
只能先打开Chrome
-
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check --user-data-dir=$(mktemp -d -t 'chrome-remote_data_dir')
- 会创建临时目录
-
使用已经安装的Chrome浏览器,平时正常使用
- /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check
-
命令行打印
- DevTools listening on ws://localhost:9222/devtools/browser/41a0b5f0–6747–446a-91b6–5ba30c87e951
-
-
Windows 快捷方式
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
-
然后 打开 http://127.0.0.1:9222/json/version
- 获取wsChromeEndpointurl
-
代码
const wsChromeEndpointurl = 'ws://localhost:9222/devtools/browser/41a0b5f0–6747–446a-91b6–5ba30c87e951';
const browser = await puppeteer.connect({
browserWSEndpoint: wsChromeEndpointurl,
});