guoyongyi11 最近的时间轴更新
guoyongyi11

guoyongyi11

V2EX 第 230286 号会员,加入于 2017-05-11 19:50:34 +08:00
guoyongyi11 最近回复了
2019-12-06 08:00:47 +08:00
回复了 silvernoo 创建的主题 Node.js puppeteer 控制 chromium 经常卡死是什么原因
我当时使用 puppeteer 碰到如下几种问题会造成 hang 的。

1. 截图 hang
界面上没有 body 元素。你可以 goto 界面后,再把 body 元素取出来看一看。

2. 因为 page crash 而 hang
程序一旦意外 crash 后,后面执行 page 相关的代码就会被 hang 住,现在的解决办法就是在 page.on('error') 里面把 browser.close 掉,使后面的代码报错,从而被 catch 住,在 catch 里面再做进一步处理。

3. puppeteer 在跑并行的时候,如果使用 Promise.all ,很容易被其中一个异步方法 hang 住,造成整个进程都 hang 住
解决方法就是创建并行函数,但不要使用 Promise.all
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3434 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 11:47 · PVG 19:47 · LAX 03:47 · JFK 06:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.