在使用puppeteer的时候,本机运行简直是和谐的不得了。但是一旦放到了服务器上长期运行,则要遭受众多的问题。我曾一度怀疑是不是服务器趁我看不见,故意给我搞事情。不过,计算机的世界里,任何的问题,肯定错在我身上。我们来谈谈puppeteer的一些崩溃措施。 页面崩溃
我们可以使用 page 订阅 error 事件,这样的话,我们可以在回调里面去操作我们页面错误后的处理方法。 浏览器崩溃但有时候往往太年轻,我当时以为这样就是万全之策,没想到,接下来第二天还是服务器报错了。找来找去,看到了一个这样的错误: 在翻阅了官方文档之后,毫无进展,好在一位好心的老哥,替我在官方文档(github上的地址)找到了一个issues: https://github.com/puppeteer/puppeteer/issues/4428 情况跟我几乎一模一样。看看交流下来是如何解决的? 上代码: const setup = async () => { 反过来去查阅官方文档: https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#event-disconnected 原来如此,看来我文档看的还是不够仔细,当我们程序和浏览器断开了链接。那么这个方法就会被执行,言下之意也就是我们的程序崩掉了。 综上,一般情况下,我都会加上这两个的报错。毕竟chrome在长期跑得过程中,难免会有很多不确定性因素。但是我们不将这些不确定因素都囊括住,那么也就增加了程序崩掉的风险,健壮性由此体现。
|
|