初始化后浏览器断开连接

browser gets disconnected after initializing

这是我的 node 8.12.0 应用程序中的代码片段:

var browser, page;

//launch browser 
(async () => {
    browser = await puppeteer.launch({headless: false});
    page = await browser.newPage();   
})();

//start cron job  
cron.schedule('* * * * *', () => {
  (async () => {
    await page.goto('https://www.mysitedotcom/admin/');  <== cause error

    //doing something with web page and db
    ........
  )}();
}); // cron.schedule

(async() => {
  browser.close();
})();

cron 作业每分钟触发一次。上面的网页没有打开(goto 没有打开),错误是:

(node:3232) UnhandledPromiseRejectionWarning: Error: Navigation failed because browser has disconnected!
    at Connection.NavigatorWatcher._eventListeners.helper.addEventListener (C:\d\code\js\wbot\node_modules\puppeteer\lib\FrameManager.js:1146:117)

browser & page 的启动被特意排除在 cron.schedule 之外,因此只要会话处于活动状态,browser 的一次创建将适用于 cron.schedule。但问题是 browser 在到达 cron.schedule 时不知何故是 disconnected。我不明白为什么。我在这里缺少什么?

由于异步性质,这些行几乎立即关闭了浏览器。如果您需要保持浏览器打开,请删除它们或将它们移动到其他地方。

(async() => {
  browser.close();
})();

最后你试过await browser.close();了吗?

这将等待浏览器完全关闭。