Puppeteer は extraPrefsFirefox を通じて Firefox の設定を公開します。Puppeteer 用にすでに構成済みの互換性のある Firefox がインストールされたアプリケーションでは:

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch({
  browser: 'firefox',
  extraPrefsFirefox: {
    'network.proxy.type': 1,
    'network.proxy.http': 'proxy.example',
    'network.proxy.http_port': 8080,
    'network.proxy.ssl': 'proxy.example',
    'network.proxy.ssl_port': 8080,
  },
});
try {
  const page = await browser.newPage();
  await page.goto('https://api.example/');
} finally {
  await browser.close();
}

種類 1 は手動のプロキシ構成を選択します。ホスト名と数値ポートは別々に設定します。許可された公開サイトの閲覧には、HTTP プロキシ一覧がこれらの HTTP リスナーフィールドの候補を提供します。Firefox は HTTPS 宛先ルートに ssl 設定名を使います。network.proxy.https という名前をでっち上げても同じ設定にはなりません。

HTTP と HTTPS の両方の閲覧で仲介者を使う場合は、両方のルートを指定してください。これにより、一方のルートをもう一方にコピーする設定ダイアログの操作に依存せずに済みます。示されているエンドポイントは通常の HTTP プロキシリスナーです。ssl 設定名はその宛先カテゴリを表します。

これらの設定は Firefox のネットワーク通信を構成します。Chromium の --proxy-server 引数は別のブラウザーインターフェースに属します。現在の Puppeteer は browser: 'firefox' で Firefox を選択します。product を使う古い例は、そのオプションを定義した Puppeteer のバージョンに合わせる必要があります。

関連記事