LinuxCentos系统下puppeteer使用问题

小文blog小文 2018-08-29 09:41 467人围观

puppeteer是谷歌官方出品并维护的无头浏览器node库。使用发现本地一顿操作甚是爽但部署线上时候傻眼,各种报错。

原来puppeteer虽然帮你下了一个Chromium,但并没有帮你把依赖都装好。于是你要自己把那些so都装好。

官方给的是Ubuntu版本的各个so包的apt-get安装方式,centos版本居然没有放!

最后在这个issue里找到了解决方案。

依赖安装

#依赖库
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y
 #字体
yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

sandbox去沙箱

启动参数里加args,--no-sandbox,--disable-setuid-sandbox

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

ok,可以run了。

转载请注明来自小文blog,本文标题:LinuxCentos系统下puppeteer使用问题

发布评论
生活是一场戏,主角当累了,你亦可成为观众,停下脚步,歇一歇