 |
|
guoyongyi11
V2EX member #230286, joined on 2017-05-11 19:50:34 +08:00
|
guoyongyi11's recent replies
我当时使用 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