Puppeteerは、node-jsライブラリで開発されたオープンソースのJavaフレームワークです。 Puppeteerには、Webスクレイピングツールとして機能する機能があります。 セレンWebドライバーと同様に、Webベースのアプリケーションのテスト自動化としても使用できます。 Puppeteerの人気は、テスト自動化のために急速に高まっています。 Puppeteerチュートリアルをウォークスルーするための前提条件は、コマンドライン、JavaScript、OOPの概念、およびHTMLDOM構造の基本的な知識です。 完全な Puppeteerチュートリアル 以下の目次に記載されているトピックに配布されます。
Puppeteerチュートリアル
Toscaチュートリアル#1: パペッティアの概要
トスカ チュートリアル #2: Puppeteer環境変数
トスカ チュートリアル #3: PuppeteerWebスクレイピングとPuppeteerテスト自動化の概要
トスカ チュートリアル #4: Puppeteerをインストールします
この記事では Puppeteerチュートリアル、Puppeteerの概要とPuppeteerの環境変数について説明します。
パペッティアの概要
Puppeteerは、node-jsライブラリで開発されたオープンソースのJavaフレームワークです。 Puppeteerは、高レベルのアプリケーションインターフェイス(API)を使用して、devtoolプロトコルを介してChromeブラウザを制御できます。 Puppeteerは、ヘッドフルとヘッドレスの両方のChromeブラウザを制御できます。
PuppeteerフレームワークはGoogleによって導入されました。 機能によると、それは新しい概念ではありません。 しかし、それは作業を容易にします。 基本的に、それは圧縮されたパッケージを通して活動のリストを要約します。

パペッティアはどのように機能しますか?
- PuppeteerはNodeJSライブラリを使用します。
- Node JSでは、高レベルのAPIを使用できます。
- APIは、devtoolプロトコルを介してChromeブラウザを制御できます。
- デフォルトでは、PuppeteerはヘッドレスChromeブラウザーで動作しますが、デフォルト構成を変更することでヘッドフルChromeブラウザーとも対話できます。
ChromeDevToolsプロトコル:
Chrome DevToolsプロトコルを使用すると、Puppeteerなどのツールは、Chromium、Chromeなどの点滅ベースのブラウザを計測、検査、デバッグ、およびプロファイリングできます。
ここでは、ブラウザのインストルメンテーションは、DOM、デバッガ、ネットワークなどのいくつかのドメインに分割されています。すべてのドメインは、サポートされているさまざまなコマンドと生成されたイベントをすべて説明しています。
Puppeteerの機能:
- Chromeブラウザを介した手動プロセスは自動化できます。
- 任意のWebページのスクリーンショットをキャプチャし、スクリーンショットの画像またはPDFファイルを生成できます。
- Puppeteerを使用して、サーバー側レンダリングのシングルページアプリケーションを開発できます。
- チェックポイントを使用して、Webフォームの送信、UIテスト、キーボード入力などを自動化できます。
- Chromeブラウザをより細かく制御できます。
- デフォルトのヘッドレスモードは非常に高速です。
- Webスクレイピングをサポートします。
- Chromeパフォーマンス分析ツールを使用してレンダリングと読み込みのタイミングを測定する機能。
Puppeteer vs Puppeteer-コア:
Puppeteerバージョンv1.7.0以降、XNUMXつのパッケージの下で、すべてのリリースで利用可能です–
- puppeteer-コアパッケージ
- パペッティアパッケージ
Puppeteer-coreパッケージ:
パペッティアコア DevToolsプロトコルをサポートする任意の操作を実行できるJavaベースのノードライブラリです。 Puppeteer-coreは、インストール中にChromiumをダウンロードしません。 ライブラリとして、Puppeteer-coreはそのプログラムインターフェイスを介して完全に駆動されます。 また、Puppeteer-coreの機能は、すべてのPUPPETEER_ * env変数でカスタマイズできるわけではありません。 Puppeteer-coreをインストールするための基本的なコマンド–
npm install puppeteer-core
# or "yarn add puppeteer-core"
puppeteer-coreを使用する場合、includeステートメントは次のようになります–
const puppeteer = require('puppeteer-core')
Puppeteer-Coreを使用する場合:
- 追加のクロムのダウンロードが不要なDevToolsプロトコルを介して既存のChromeブラウザを使用するPuppeteerプロジェクトを開発する。
- DevToolsプロトコルの上に別のエンドユーザー製品またはライブラリを開発するため。 たとえば、あるプロジェクトでは、puppeteer-coreを使用してスクリーンショットジェネレーターを構築し、Chromiumの代わりにheadless_shellをダウンロードしてストレージを節約するカスタムsetup.jsスクリプトを作成する場合があります。
パペッティアパッケージ:
人形 ChromeまたはChromiumブラウザ自動化のための完全な製品です。 インストール中にChromiumの最新バージョンをダウンロードし、その後、puppeteer-coreによって駆動されました。 エンドユーザー製品として、PuppeteerはすべてのPUPPETEER_ *環境変数をサポートして、その動作をカスタマイズします。 Puppeteerをインストールするための基本的なコマンド–
npm install puppeteer
# or "yarn add puppeteer"
Puppeteerを使用する場合は、次のようなステートメントを含めてください–
puppeteer = require(‘puppeteer’)
PuppeteerとPuppeteer-coreの違い:
- Puppeteer-coreは、インストール中にChromiumブラウザを自動的にダウンロードしません。
- Puppeteer-coreは、すべてのPUPPETEER_ * env変数を考慮しているわけではありません。
- ほとんどのプロジェクトでは、Puppeteer製品パッケージを使用しています。
ヘッドレスクローム:
ヘッドレスクロームは、Puppeteerがバックグラウンドアプリケーションとしてクロームブラウザと対話していることを意味します。つまり、クロームUIは画面に表示されません。 デフォルトでは、Puppeteerはアプリケーションをヘッドレスクロームとして起動します。 ヘッドレスChromeを起動するためのコードサンプル–
この例では、ヘッドレスChromeを開いています。つまり、ChromeUIは表示されません。 これは、ヘッドレスフラグをtrueとしてPuppeteer.launch method()に渡すことで実行できます。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
// Specify statements for Headless Chrome operations
await browser.close();
})();
ヘッドフルクローム:
ヘッドフルクロームとは、PuppeteerがクロームUIが画面に表示されているクロームブラウザと対話していることを意味します。 デフォルトでは、Puppeteerはアプリケーションをヘッドレスクロームとして起動します。 Headful Chromeを起動するためのコードサンプル–
この例では、私たちに見えるクロムを開いています。 これは、ヘッドレスフラグをfalseとしてPuppeteer.launch()メソッドに渡すことで実行できます。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false});
// Specify statements for Headless Chrome operations
await browser.close();
})();
Puppeteer環境変数
Puppeteerは、事前定義された環境変数を使用して、その操作をサポートします。 Puppeteerがインストール中に環境変数を見つけられない場合、これらの変数の小文字のバリアントがnpm構成から使用されます(NPM構成ファイルを管理します)。 Puppeteer-coreパッケージでは、環境変数は考慮されません。 最も重要なPuppeteer環境変数は–
- PUPPETEER_SKIP_CHROMIUM_DOWNLOAD:インストールステップ中にバンドルされたChromiumをダウンロードしないように指示します。
- PUPPETEER_DOWNLOAD_HOST:Chromiumのダウンロードに使用できるURLプレフィックスを上書きします。
- PUPPETEER_DOWNLOAD_PATH:ダウンロードフォルダのパスを上書きします。 デフォルトのパスは–“ /.local-chromium/”ここでpuppeteerのパッケージルートです。
- HTTP_PROXY、HTTPS_PROXY、NO_PROXY: これらの変数は、インストール中にChromiumをダウンロードするためのプロキシ設定を定義します。
- PUPPETEER_CHROMIUM_REVISION: これは、Puppeteerが使用するChromiumの特定のバージョンを定義します。
- PUPPETEER_EXECUTABLE_PATH: Puppeteer.launchメソッドで使用される実行可能パスを指定します。
- PUPPETEER_PRODUCT:Puppeteerが使用するブラウザを定義します。 値はchromeまたはfirefoxのいずれかである必要があります。
結論:
Puppeteerチュートリアルに関するこの紹介記事では、Puppeteerの概要とPuppeteer環境変数について学習しました。 の次の記事で Puppeteerチュートリアル、PuppeteerWebScrapingとPuppeteerTestAutomationの概要について学習します。 クリックしてください (詳細を見る)。 このPuppeteerチュートリアルのリファレンスポータルにアクセスします。 また、クリックしてください (詳細を見る)。 LambdaGeeksからSeleniumを学ぶ。