如何在不阻塞命令行的情况下启动Puppeteer并保持浏览器开启
解决方法
核心思路是断开Puppeteer与浏览器的连接,让Node.js进程正常退出,同时保留浏览器实例持续运行。
修改后的代码如下:
// index.js const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch({ headless: false, }); const page = await browser.newPage(); await page.goto("https://stackoverflow.com"); // 断开Puppeteer与浏览器的连接,Node进程即可退出并释放命令行 browser.disconnect(); })();
原理说明
- Puppeteer通过WebSocket与Chrome浏览器实例建立通信,调用
browser.disconnect()后,Node.js进程会终止,命令行恢复控制权,但浏览器本身会继续保持打开状态。 - 这个方案仅适用于不需要后续通过代码控制该浏览器实例的场景,完全匹配你当前的需求。
内容的提问来源于stack exchange,提问作者Mr.
相关产品推荐
相关产品推荐

