如何解决如何处理Puppeteer“错误:页面崩溃!”
我编写的刮板可以在PC上完美运行,这是一个运行node.js v14.4.0的Windows操作系统。
但是,当我尝试在Ubunto机器Digital Ocean Droplet上运行它时,对于某些页面,出现以下错误:Page crashed!
,但信息不多。
以下是打印错误的代码:
const handleClose = async (msg) =>{
console.log(msg)
page.close();
browser.close();
process.exit(1);
}
process.on("uncaughtException",(reason,p) => {
const a = `Possibly Unhandled Exception at: Promise,${p},reason:,${reason}`
handleClose(a);
});
我该如何解决这个问题? 会导致什么呢?因为它可以在我的Windows PC上正常工作。
解决方法
我添加了我在网上找到的所有相关内存配置:
const args = [
'--no-sandbox','--disable-setuid-sandbox','--disable-infobars','--window-size=1366,768','--unlimited-storage','--full-memory-crash-report','--disable-dev-shm-usage','--force-gpu-mem-available-mb','--disable-gpu'
]
但这没有帮助。
感谢pguardiario注意,我只是将Droplet从1G RAM升级到2G。 那就成功了。
刮刮一个简单的网站所花费的时间超过1G,我感到很奇怪,所以我猜Puppeteer需要大量资源来运行。
更新 我进行了其他页面美化,但是这次与服务器使用所有内存有关。因此,我从Puppeteer中删除了所有这些参数:
'--unlimited-storage','--disable-gpu'
只剩下基本的:
const args = [
'--no-sandbox',768'
]
现在很稳定。 因此,我认为这需要仔细使用,并在不需要时将其删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。