Skip to content

実戦ケース集

この章では、実際のプロジェクトにそのまま流用できる 5 つのスクリプトテンプレートを紹介します。


ケース 1:自動ログインと状態の維持

javascript
// JavaScript 版
async function autoLogin() {
  // 環境の起動(中略)
  const browser = await chromium.connectOverCDP(wsEndpoint);
  const context = browser.contexts()[0];
  const page = context.pages()[0] || await context.newPage();

  try {
    await page.goto('https://example.com/login');
    await page.getByLabel('メールアドレス').fill('user@email.com');
    await page.getByLabel('パスワード').fill('password123');
    await page.getByRole('button', { name: 'ログイン' }).click();

    // ログイン完了の兆候を待機
    await page.waitForURL('**/dashboard');
    console.log('✅ ログイン成功!');
  } finally {
    await browser.close();
  }
}

javascript
// 事前に取得した Cookie を注入して直接アクセス
await context.addCookies([
  { name: 'session_id', value: 'SID_123', domain: '.example.com', path: '/' }
]);
await page.goto('https://example.com/dashboard');

ケース 3:ネットワーク傍受によるデータ収集

javascript
// API のレスポンスを直接キャッチして JSON を取得
page.on('response', async response => {
  if (response.url().includes('/api/products') && response.status() === 200) {
    const json = await response.json();
    console.log(`📦 商品データを取得: ${json.list.length} 件`);
  }
});

ケース 4:マルチアカウントの並列実行

JavaScript の Promise.all を使用して、複数の Mbbrowser 環境を同時に制御し、処理効率を劇的に向上させます。


IMPORTANT

メモリ管理のヒント: 並列実行数は、ハードウェアのメモリ容量に依存します。16GB 搭載なら 10〜15 環境程度を目安にしてください。


TIP

🎉 おめでとうございます!これで Mbbrowser + Playwright の自動化技術スタックを完全にマスターしました。 公式ドキュメントも併せて参照してください:playwright.dev