V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  guoyongyi11  ›  全部回复第 1 页 / 共 1 页
回复总数  1
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   ·   实用小工具   ·   923 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 21:19 · PVG 05:19 · LAX 13:19 · JFK 16:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.