MENU
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
PCやMacの性能を100%発揮
ソフトアンテナ
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
ソフトアンテナ
  • このブログに関して
  • 特集アーカイブ
    • Windows更新情報
    • Windows11使いこなし
    • Windows 10使いこなし
    • macOS/iOS/iPadOS更新情報
    • macOS使いこなし
    • iOS使いこなし
    • Webブラウザ更新情報
  • ソフトウェア
  • Windows
  • Mac
  • iOS
  • セール
  1. ホーム
  2. レビュー
  3. Puppeteer - Chrome DevToolsによるヘッドレスChromeを操作するためのNode API

Puppeteer - Chrome DevToolsによるヘッドレスChromeを操作するためのNode API

2017 8/21
レビュー
2017年8月21日 2017年8月21日
  • URLをコピーしました!

S 20170818 161733

GoogleはChrome 59で(macOS or Linux版)、ブラウザをヘッドレス環境で実行できる「ヘッドレスChrome」と呼ばれる機能を導入しました。

自動テスト環境やサーバー環境で活用できる開発者向けの機能で、スクレイピングやWebページの画像の取得といったさまざまな操作がGUIなしで実行できます。

今回紹介する「Puppeteer」はこのヘッドレスChromeをさらに使いやすくするためのNode用のライブラリです。

Chrome DevToolsチームが保守して、DevTools Protocolを利用してヘッドレスChromeを簡単に操作するための高レベルAPIが提供されています。

Puppeteerによって以下のことが可能となります:

  • ページのスクリーンショットやPDFの生成
  • SPAをクロールしレンダリング前のコンテンツを生成(例えば"SSR")
  • Webサイトのコンテンツをスクレイピング
  • formの投稿やUIテスト、キーボード入力の自動化
  • 最新の自動テスト開発発用の構築
  • パフォーマンス問題を分析するタイムライントレースのキャプチャ

以下実際に使い方を見ていきます。

目次

インストール

実行にはNode v7.10以降が必要です。

Puppeteerをインストールするにはターミナルで以下のコマンドを実行します。

yarn add puppeteer
# or "npm i puppeteer"

なおPuppeteerをインストールする際、最新版のChromiumも同時にダウンロードされるのでMacでは71MB、Linuxでは90MB、Windowsでは110MBほどの空き容量が必要とのこと。

Webページの画像を取得

公式サイトではhttps://example.comのスクリーンショットを取得するサンプルプログラムが掲載されています。

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'});

  browser.close();
})();

細部の意味はともかく、ブラウザを起動し、新規ページで目的のサイトを開き、スクリーンショットを取得する、という一連の動作を行っていることがなんとなく分かります。

上記ソースコードを例えばimage.jsとして保存し、「npm image.js」として実行します。

S 20170818 161758

カレントディレクトリにexample.pngが出力されていれば成功です。画像ファイルを開くと、Chromeでexample.comを閲覧したときとまったく同じ表示になっていることがわかります。

公式サイトにはそのほか、PDFを生成する方法や各種サンプルが掲載されています。APIドキュメントと合わせて閲覧すれば理解が深まると思います。

まとめ

PuppeteerはChromeだけをターゲットとしてライブラリであるため、SeleniumやWebDriver、PhantomJSなどのクロスブラウザライブラリとしてシンプルなAPIが提供されているのが魅力です。

Chromeメインのテスト環境を構築している方は、Puppeteerの利用を考慮してみるのが良さそうです。

レビュー
Chrome Node
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • iCalイベントを盤面に表示できる美しい時計アプリ「アラームクロックガジェットプラス」がセール価格となった本日のアプリセールまとめ
  • Wine 2.15開発版がリリース - AES暗号化をサポート

関連記事

  • git-sim - 自分のリポジトリでGit操作可視化
    2023年1月31日
  • Carbonyl - ターミナル内で実行できるChromiumブラウザ
    2023年1月30日
  • PowerToys: PowerRename - 複数のファイルをまとめてリネームすることができるユーティリティ
    2023年1月27日
  • HiDock - ディスプレイ構成ごとにDockの設定を保存できるフリーソフト
    2023年1月26日
  • Lickable Menu Bar - 懐かしのメニューバースタイルを最新のmacOSで再現
    2023年1月20日
  • Homerow - macOSをキーボードだけでプロのように操作することができるユーティリティ
    2023年1月6日
  • ExplorerPatcher - Windows 11のタスクバーをWindows 10風に変換することができるツール
    2023年1月5日
  • Swift Quit - ウィンドウを閉じたタイミングでアプリ自動終了させることができるMac用ユーティリティ
    2022年12月31日
スポンサーリンク
サイト内検索
特集アーカイブ
  • Windows更新情報
  • Windows11使いこなし
  • Windows 10使いこなし
  • macOS/iOS/iPadOS更新情報
  • macOS使いこなし
  • iOS使いこなし
  • Webブラウザ更新情報
Feedlyに登録

登録お願いします!

follow us in feedly

人気記事
  • Lp logo 3 1000x657 質問に対し流暢な日本語で回答してくれる「ChatGPT」が公開 - 試し方はこちら
  • S 20230125 112030 Microsoft Edgeに「ウィンドウの分割」機能が導入。2つのページを同時に閲覧可能に
  • S 20221123 111042 Windows 11のタスクトレイ時計の秒表示を有効にする方法
  • S 20230119 111028 Microsoft、Windows 11 22H2でシステムの復元ポイントがアプリを破壊する事を確認
  • S 20221206 204658 メニューバーから対話できる「ChatGPT for Mac」がリリース
  • S 20210923 114221 Windows 11で「管理ツール」を開く方法
  • S 20220219 172234 【Tips】iPhoneで撮影した特定の写真だけをiCloudに保存する方法
  • Mac mini M2 2023 【悲報】M2搭載ローエンドMac miniとMacBook ProのSSD速度は前世代より低下
  • Img3File M1/M2/Intel MacでWindows 11を実行できる「UTM 4.1」
  • S 20230127 111050 Windows 11 Version 22H2用のプレビューアップデートKB5022360が公開 - タスクバー検索やIMEの不具合修正
カテゴリー
タグ
Amazon Android App Apple applewatch appsale Chrome Edge Firefox Git Github Google iOS iPad ipados iPhone iPhone6 iphone7 iphone8 iTunes JavaScript Kindle Linux Mac MacBook MacBookPro macos Microsoft Nintendo OS X OSX Parallels Rails Ruby Sale Steam Swift Twitter VMware Windows windows7 windows10 windows11 Wine Yosemite
新着記事
  • 【2/28まで】Amazonのオーディオブック聴き放題サービス「Audible」が2ヶ月無料になるキャンペーンが実施中
  • 【2023年2月分】Kindle月替わりセールが更新 - 「超雑談力」などが対象
  • elementary OS 7が正式リリース - アプリ入手性の改善や設定の改良など新機能多数
src256
ソフトアンテナを開発しています。

Windows/Mac/Linux全部使用中。ソフトウェア、ハードウェアいろいろなモノに興味があります。

好きなエディタはEmacs。好きな言語はRubyです。


srcw.net
  • プライバシーポリシー

© 2022 ソフトアンテナ

目次