Puppeteer是一个node库,他提供了一组用来操纵Chrome的API,默认headless也就是无UI的chrome,也可以配置为有UI。 其实有点类似于PhantomJS,但Puppeteer是Chrome官方团队进行维护的,前景会更好。
 
 
Puppeteer 核心功能
  1. 利用网页生成PDF、图片
  2. 爬取SPA应用,并生成预渲染内容(即“SSR” 服务端渲染)
  3. 可以从网站抓取内容
  4. 自动化表单提交、UI测试、键盘输入等
  5. 帮你创建一个最新的自动化测试环境(chrome),可以直接在此运行测试用例
  6. 捕获站点的时间线,以便追踪你的网站,帮助分析网站性能问题
 
安装:
 

 npm i -s puppeteer

  

 
报错提示:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to launch chrome!
/data/www-data/hupu.com/crawl_puppeteer/node_modules/puppeteer/.local-chromium/linux-515411/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

  

 
需要安装 chrome 浏览器的依赖包
yum install google-chrome-stable

  

 
这里提示下 ,在Centos6.5下无法安装chrome 我当时捣鼓了很久也没搞好,最后把系统升级到 7.2 才安装上
 
如果还报错,可以定位错误 来安装具体的依赖包。
 

安装puppeteer的更多相关文章

  1. 在MacOS安装puppeteer

    安装node:升级:npm i npm 安装yarn:需要注意先把yarn的流程跑完,特别是package.json 安装puppeteer:yarn add puppeteer 安装完成以后需要重启 ...

  2. 在ubuntu中安装puppeteer

    https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md 早些时候puppeteer刚出来,在vps上 ...

  3. linux安装puppeteer

    1.安装 下载淘宝镜像的,可以同时下载puppeteer和chromium下面两条语句即可 npm install -g cnpm --registry=https://registry.npm.ta ...

  4. 快速安装puppeteer (跳过安装Chromium)

    npm i --save puppeteer --ignore-scripts

  5. puppeteer 安装失败的解决方案

    你应该也是在玩puppeteer,所以才会来到这里寻找答案,开始正文…… 安装时遇到 ERROR: Failed to download Chromium r515411! Set "PUP ...

  6. 使用Puppeteer进行数据抓取(一)——安装和使用

    Puppeteer是 Google Chrome 团队官方的Chrome 自动化工具.它本身是基于Chrome Dev Protocol协议实现的,但它提供了更高层次API封装,使用起来更加方便快捷. ...

  7. Puppeteer学习笔记 (2)- Puppeteer的安装

    本文链接:https://www.cnblogs.com/hchengmx/p/11009849.html 1. node的下载安装 由于puppeteer是nodejs的一个库,所以首先需要安装no ...

  8. Puppeteer学习之小试牛刀

    最近有了写文章的动力了,一方面是受到了很多前辈们的启示,另一方面也是为了记录下来更好地学以致用.闲言少叙,先说说Puppeteer是什么. Puppeteer是一个node库,提供了一些用来操作Chr ...

  9. web前端自动化测试/爬虫利器puppeteer介绍

    web前端自动化测试/爬虫利器puppeteer介绍 Intro Chrome59(linux.macos). Chrome60(windows)之后,Chrome自带headless(无界面)模式很 ...

随机推荐

  1. flask设置配置文件的四钟方式

    # -*- coding: utf-8 -*- DEBUG = True # -*- coding: utf-8 -*- from flask import Flask,session,current ...

  2. 我使用 Docker 部署 Celery 遇到的问题

    问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...

  3. python网络数据采集(低音曲)

    废话不多说,马上开始. 上次我们说到遍历单个域名,今天我们来写一个爬对应词条的脚本,他会遍历整个网址直到爬完对应词条. 代码: from urllib.request import urlopen f ...

  4. Codeforces 834D The Bakery【dp+线段树维护+lazy】

    D. The Bakery time limit per test:2.5 seconds memory limit per test:256 megabytes input:standard inp ...

  5. SpringMVC框架学习笔记(2)——使用注解开发SpringMVC

    1.配置web.xml <servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.sp ...

  6. 自定义省市选择器 微信小程序多列选择器

    由于微信小程序的选择器为省市区选择器共3列 如我仅需要省市2列的选择器 就需要我们另寻他法找来找去没有合适的 只能自己写了 1. 首先我们把所需要的省数据 市县数据放在一个 p_c.js 文件里面,使 ...

  7. 关于Set对象(ES6)

    今天初次接触ES6,发现确实挺神奇的,许多用以前方法去实现需要一大串代码的,用ES6竟然几句就搞定了. 这里我要说的是Set对象.Set对象是ES6中新增的类型,可以自动排除重复项,生成Set对象后, ...

  8. ThinkPHP5+小程序商城 网盘视频

    ThinkPHP5+小程序商城   网盘视频  有需要联系我  QQ:1844912514

  9. intellij idea on update action\on frame deactivation ||Servlet 页面不同步问题

    当修改servlet源码时,对应的servlet页面即使刷新也不会改变,,,很烦躁 因为xx.java需要编译成xx.class后,再部署到服务器上才可以运行,所以问题就是服务器里的类文件并没有更新. ...

  10. drawpoly()函数的用法

    画多边形的函数drawpoly() 用当前绘图色.线型及线宽,画一个给定若干点所定义的多边形.第一个参数,是多边形的顶点数第二个参数,是该数组中是多边形所有顶点(x,y)坐标值,即一系列整数对