puppeteerでasync,awaitを使わずに動かす方法
Tag:Web
Google Chromeのヘッドレスモードの操作を簡単にするnode.jsモジュール「puppeteer」。
動作環境はnode.js v6.4.0以上ですが、サンプルコードはv7.6.0から使用可能なasync,awaitを使って書かれています。
私はまだnode.jsのv6系を使用しているため、そのままではエラーとなってしまったのでasync,awaitを使わない書き方でデモを動かしてみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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のキャプチャが保存されます。