CentOS下部署使用Puppeteer

配置node环境

(基于puppeteer1.2+centos7.4)

cd /opt #切换到opt目录
wget "https://npm.taobao.org/mirrors/node/v8.10.0/node-v8.10.0-linux-x64.tar.xz" #下载tar包
tar xvJf node-v8.10.0-linux-x64.tar.xz #解压
ln -s /opt/node-v8.10.0-linux-x64/bin/node /usr/local/bin/node #建立软连接
ln -s /opt/node-v8.10.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm #建立软连接
node -v #查看node版本 
npm -v #查看npm版本

安装puppeteer

npm install puppeteer --ignore-scripts --save #因为不明原因(使用ss+privoxyFQ后也无法解决该问题),安装puppeteer时,执行同步安装Chromium的js脚本会导致失败,所以先skip掉。
cat /root/node_modules/puppeteer/package.json | grep chromium_revision #获取需要下载的chromium版本号
https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/%d/chrome-linux.zip #用之前获取的版本号替换掉上面链接中的%d,输入到浏览器地址栏中获取Chromium的zip包,这里需要FQ,本文中Chromium的版本号为543305,下面不再赘述。
mkdir -p /root/node_modules/puppeteer/.local-chromium/linux-543305 #创建Chromium的安装目录
unzip chrome-linux.zip #将zip包上传到上面创建的目录并解压
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 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 #安装CentOS需要的依赖

若是不同OS,依赖安装参考github上puppeteer的troubleshooting

配置X11转发

此处以XShell为例,File -> Properties -> 勾选 X11 Forwarding
1348953-20180611100416619-1845376915.png1348953-20180611100424599-770889737.png

yum -y install xorg-x11-xauth #安装xauth

示例

const puppeteer = require('puppeteer');

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

这里使用了一些额外的参数,包括关闭sandbox,取消headless,忽略https error
预期结果:浏览器打开网址并截屏,图片保存在当前目录
1348953-20180611100635288-1775324566.png

转载于:https://www.cnblogs.com/yexuesong/p/9165789.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值