一个没有界面的Chrome浏览器:puppeteer

120 阅读1分钟
原文链接: alili.tech

Puppeteer介绍

Puppeteer是一个node库,提供了一组用来操纵Chrome的API。
相对PhantomJS来说,他可以直接在你的node项目里面直接调用Chrome的API。
以后很多的自动化测试,爬虫都可以基于Puppeteer来做。

安装


                                    
npm install puppeteer


                                

使用

截屏


                                    
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();


                                

保存页面为PDF


                                    
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});

  await browser.close();
})();


                                

Puppeteer 还提供了很多的Chrome API
github.com/GoogleChrom…