Puppeteer
参考:
GoogleChrome/puppeteer: Headless Chrome Node API – GitHub
ドキュメント
参考:
Puppeteer | Google Developers [Official]
Quick start – Puppeteer | Google Developers [Official]
puppeteer/api.md at master · GoogleChrome/puppeteer – GitHub
デモ
参考:
Try Puppeteer (try-puppeteer.appspot.com)
ebidel/try-puppeteer: Run Puppeteer code in the cloud – GitHub
使い方
const puppeteer = require('puppeteer') (async function () { const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome_or_Chromium' }) const page = await browser.newPage() await page.goto('https://example.com') await page.screenshot({ path: 'example.png' }) await browser.close() })()
参考:
Puppeteer によるヘッドレス Chrome の使い方 | iwb.jp
E2E テストを PhantomJS から、Puppeteer + Headless Chrome へ移行しました | LCL Engineers’ Blog
ヘッドレスブラウザの操作でスクレイピング、クローリング | Web 備忘録 (webbibouroku.com)
Default runtime settings – GoogleChrome/puppeteer – GitHub
導入
参考:
Puppeteer でできることまとめ | GMOアドパートナーズグループ TECH BLOG
Puppeteer がクローリングに使えそう – GitHub Gist
CentOS で使う
参考:
puppeteer を使って CentOS で headless chrome を動かす – Qiita
スクレイピング
参考:
Puppeteer でスクレイピング | dkrk のブログ
Web Scraping With Express And Puppeteer | Josh Hicks
How to scrape that web page with Node.js and puppeteer | DEV Community
PDF を作成する
参考:
puppeteer で Chrome の Headless を利用して、PDF を作成する | フェンリル
テストランナーとして使う
参考:
puppeteer-core
Chromium を自動的にダウンロードしない。
$ yarn add puppeteer-core
参考:
puppeteer vs puppeteer-core – puppeteer/api.md at master · GoogleChrome/puppeteer – GitHub
DOM を操作する
参考:
ローカルのファイルを開く
参考:
Opening local html file using puppeteer – Stack Overflow
ウィンドウを表示する
launch
関数のオプションに headless: false
を渡す。
const browser = await puppeteer.launch({ headless: false })
参考:
Default runtime settings – GoogleChrome/puppeteer – GitHub
puppeteer.launch | Puppeteer API [Official]
page.goto
参考:
Puppeteer でページの読み込み完了を待つ | 約束の地
page.goto | Puppeteer API [Official]
Puppeteer wait until page is completely loaded – Stack Overflow
page.waitFor
参考:
page.waitFor | Puppeteer API [Official]
page.waitForNavigation
参考:
Puppeteer で次ページへの遷移を待つ – Qiita
page.waitForNavigation | Puppeteer API [Official]
networkidle0 / networkidle2
参考:
When to use `networkidle2`? · Issue #1552 · GoogleChrome/puppeteer – GitHub
page.$
参考:
page.$ | Puppeteer API [Official]
page.$eval
参考:
page.$eval | Puppeteer API [Official]
page.evaluate
参考:
page.evaluate | Puppeteer API [Official]
Why can’t I access ‘window’ in an exposeFunction() function with Puppeteer? – Stack Overflow
page.screenshot
参考:
Puppeteer でページのスクリーンショットを撮ってまわる | PengNote
Puppeteer によるフルページスクリーンショットを画像遅延読み込みに対応させる | DeNA Testing Blog
page.screenshot | Puppeteer API [Official]
elementHandle.screenshot
参考:
elementHandle.screenshot | Puppeteer API [Official]
App Engine
参考:
Puppeteer でのヘッドレス Chrome の使用 | Google Cloud
localhost
参考:
Cant get local server to load · Issue #11 · smooth-code/jest-puppeteer – GitHub
サンプル
参考:
puppeteer の全てのサンプルプログラムを試してみた – Qiita
Chromium revision is not downloaded エラー
対処法:
executablePath
を指定する。
参考:
Chromium revision is not downloaded · Issue #3495 · GoogleChrome/puppeteer – GitHub
Chromium revision is not downloaded · Issue #1425 · GoogleChrome/puppeteer – GitHub
Error: Chromium revision is not downloaded – Stack Overflow
Puppeteer in docker container: Chromium revision is not downloaded – Stack Overflow