浏览器在初始化后断开连接



以下是我的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:dcodejswbotnode_modulespuppeteerlibFrameManager.js:1146:117)

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

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

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

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

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

最新更新