Puppeteer

Puppeteer とヘッドレス Chrome を使って React の SPA サイトをクロールするためのスクリプトを記述するには、以下のようなコードを記述することができます ¹。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const puppeteer = require("puppeteer");

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto("https://example.com");
  // SPA のページ遷移を待つ
  await page.waitForNavigation({ waitUntil: "networkidle0" });
  // スクリーンショットを撮る
  await page.screenshot({ path: "example.png" });
  await browser.close();
})();

上記のコードでは、Puppeteer を使ってブラウザを起動し、指定した URL にアクセスしています。その後、SPA のページ遷移が完了するまで待機し、スクリーンショットを撮影しています。必要に応じて、このコードを改良していただければと思います。

ソース: Bing との会話 2023/5/23