这是我的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
到达disconnected
时某种程度上是cron.schedule
。我不知道为什么。我在这里想念的是什么?
答案 0 :(得分:0)
由于异步特性,这些行几乎立即关闭了浏览器。如果需要保持浏览器打开,请将其删除或将其移动到其他位置。
(async() => {
browser.close();
})();
答案 1 :(得分:0)
您最后是否尝试过import android.widget.Toolbar
?