Puppeteerは、Node.jsで動作するヘッドレスChromeを操作するためのライブラリ

Puppeteerは、Node.jsで動作するヘッドレスChromeを操作するためのライブラリです。ヘッドレスChromeは、ブラウザのエンジンであるChromiumをバックエンドで動かし、プログラムからブラウザを制御できるようにします。

Puppeteerを使用すると、Webページのスクリーンショットを撮影したり、自動的にフォームを入力したり、DOM要素を操作したりすることができます。また、ページのスクレイピングやユニットテストなど、さまざまなタスクに使用することができます。

Puppeteerは、非常にシンプルで直感的なAPIを提供しており、使いやすいです。また、Chrome DevTools Protocolを使用しており、高度な操作やデバッグも可能です。

Puppeteerは、Node.jsのパッケージマネージャーであるnpmを使用してインストールすることができます。インストール後、Puppeteerのブラウザインスタンスを作成して、様々な操作を実行することができます。

例えば、以下のコードは、Puppeteerを使用してGoogleの検索結果のスクリーンショットを撮影する例です。

javascript
const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();

await page.goto('https://www.google.com');
await page.type('input[name="q"]', 'Puppeteer');
await page.click('input[name="btnK"]');
await page.waitForNavigation();

await page.screenshot({ path: 'screenshot.png' });

await browser.close();
})();

この例では、Puppeteerを使用してブラウザを起動し、Googleのトップページにアクセスし、検索ボックスに”Puppeteer”と入力し、検索ボタンをクリックして検索結果ページに移動し、スクリーンショットを撮影しています。

javascript
const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();

await page.goto('https://www.google.com');
await page.type('input[name="q"]', 'Puppeteer');
await page.click('input[name="btnK"]');
await page.waitForNavigation();

await page.screenshot({ path: 'screenshot.png' });

await browser.close();
})();

Puppeteerは、Webスクレイピングやテストを自動化するための強力なツールであり、Node.jsにおけるブラウザ操作のためのデファクトスタンダードです。

参考ページ
https://gihyo.jp/article/2022/09/rapid-learning-puppeteer-01

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です