CentOS7最简puppeteer安装备忘

参考

前言

要把puppeteer正常安装部署到CentOS7上并能正常显示网页,不像在Windows上那么简单,网上建议用现成的docker镜像,我这里总结下直接安装方案,其实也超简单。javascript

步骤

  1. 安装nodejs,请见参考
  2. 安装cnpm. npm install cnpm -g;若是服务器在墙外则能够忽略此步
  3. 安装puppeteer.java

    • 一般是在项目目录(含package.json)里安装全部依赖库时一块儿安装,即执行:
      cnpm install
    • 若是只是为了测试能够直接安装在当前目录:
      cnpm install puppeteer
    • 安装完了能够用下面命令看一下chrome可执行文件还缺失哪些依赖库(版本号可能不一样):
      ldd node_modules/puppeteer/.local-chromium/linux-706915/chrome-linux/chrome
  4. 安装缺失的依赖库:
    yum install -y alsa-lib.x86_64 atk.x86_64 cups-libs.x86_64 GConf2.x86_64 gtk3.x86_64 ipa-gothic-fonts libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXrandr.x86_64 libXScrnSaver.x86_64 libXtst.x86_64 pango.x86_64 wqy-unibit-fonts.noarch wqy-zenhei-fonts.noarch xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-misc xorg-x11-fonts-Type1 xorg-x11-utils

至此,安装完成,能够验证了。node

验证

  • 编写index.js,内容以下:linux

    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://www.segmentfault.com');
      await page.screenshot({path: 'sf.png'});
      await browser.close();
    })();

    注意:
    1) 必须加上--no-sandbox参数启动chrome,不然报错
    2) 默认就是以无头(无界面)模式启动chrome,即自带--headless参数git

  • node index.js执行上述脚本,会在当前目录下产生思否首页截图,能够打开看看,验证是否正常显示中文
相关文章
相关标签/搜索