Puppeteer
Puppeteer とヘッドレス Chrome を使って React の SPA サイトをクロールするためのスクリプトを記述するには、以下のようなコードを記述することができます ¹。
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
- (1) MEMO: Puppeteer で SPA(Single Page Application)を操作する … https://qiita.com/yoichiwo7/items/73d5b0aa8e70d16d7748.
- (2) React による シングルページ Web アプリケーション (SPA) の開発 … https://qiita.com/unr/items/c627a9b25628441e64f3.
- (3) SSR 対応 SPA アプリの作り方(React/TypeScript/Express) - Qiita. https://qiita.com/Michinosuke/items/a70a349b447f16001f87.