2017.08.30 - Note

puppeteerでasync,awaitを使わずに動かす方法

Tag:

Google Chromeのヘッドレスモードの操作を簡単にするnode.jsモジュール「puppeteer」。
動作環境はnode.js v6.4.0以上ですが、サンプルコードはv7.6.0から使用可能なasync,awaitを使って書かれています。
私はまだnode.jsのv6系を使用しているため、そのままではエラーとなってしまったのでasync,awaitを使わない書き方でデモを動かしてみました。

const puppeteer = require('puppeteer');

let browser, page;

Promise.resolve()
	.then(function(){
		return puppeteer.launch();
	})
	.then(function(b){
		browser = b;
		return browser.newPage();
	})
	.then(function(p){
		page = p;
		return page.goto('https://example.com');
	})
	.then(function(){
		return page.screenshot({path: 'example.png'});
	})
	.then(function(){
		browser.close();
	})
	.catch(function(e){
		console.log(e);
		browser.close();
	});

この内容をdemo.jsなどとして保存して、cuiでnode demo.jsと実行すると、フォルダ内にhttps://example.comのキャプチャが保存されます。

 

コメントを残す