🤖

Playwright をProxy環境で使う方法

2024/04/19に公開

開発用Proxyを通した状態で作業を自動化した時のメモです。
プロキシのホストをproxy-host、ポートを9999とします。

認証情報を保存する

対象システムにログイン処理が必要な場合、事前に認証を済ませた状態を保存して利用することができます。以下コマンドを実行するとブラウザが起動するので対象システムにログインします。
終了するとstorageState.jsonに状態が保存されます。

npx playwright open --proxy-server=proxy-host:9999 --save-storage=./storageState.json https://target-site

設定を変更する

playwright.config.ts
import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  // タイムアウトを無効化
  timeout: 0,
  use: {
    // ブラウザをヘッドレスモードで実行しない
    headless: false,
    // Chromium ブラウザを使用
    browserName: 'chromium',
    // 起動オプション
    launchOptions: {
      // プロキシ設定と証明書エラーの無視
      args: ['--proxy-server=proxy-host:9999','--ignore-certificate-errors'],
    },
    // 保存した認証情報を使う
    storageState: './storageState.json',
  },
  projects: [
    {
      name: 'Chromium',
    },
  ],
});

Discussion