Playwright でプロキシを設定する方法(ブラウザ全体 & コンテキスト別認証)
更新日:
Playwright は、Chromium、Firefox、WebKit のすべてにおいて、標準機能で HTTP プロキシ認証(server、username、password)に対応しており、ブラウザ拡張機能やラッパーライブラリを必要としません。さらに、Playwright の Per-Context Proxy(コンテキスト別プロキシ)機能を活用すれば、1 つのブラウザプロセス内でそれぞれ異なる VinaProxy 静的 IP を割り当てた複数の独立した BrowserContext を安全に並列実行できます。
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1 IP₫50,000
- 3+ IP₫40,000
- 5+ IP₫40,000
- 10+ IP₫32,000
- 50+ IP₫30,000
- 100+ IP₫30,000
- 200+ IP₫30,000
- 500+ IP₫25,000
Playwright プロキシオブジェクトの設定パラメータ
chromium.launch({ proxy }) によるブラウザ全体の設定、または browser.newContext({ proxy }) によるコンテキストごとの個別設定のいずれでも、同じ proxy オブジェクト構文を使用します:
| Playwright 設定キー | 値のフォーマット | 技術的注意事項 |
|---|---|---|
server | 'http://ip:port' | ホスト名とポート番号のみ指定し、先頭に http:// を付与 |
username | 'user' | VinaProxy ダッシュボードに表示されるプロキシユーザー名 |
password | 'pass' | プロキシパスワード(Playwright が HTTP 407 認証を自動処理) |
bypass | 'localhost,127.0.0.1' | プロキシをバイパスするホスト(カンマ区切り、任意設定) |
マルチ IP BrowserContext を高効率で運用するポイント
- Windows および macOS では、各
browser.newContext()で個別のproxyを指定する場合、chromium.launch()時にダミー設定proxy: { server: 'http://per-context' }を渡して Chromium のルーティング機能を有効化してください browser.newContext()でプロキシの配置国に合わせてtimezoneIdとlocaleを設定し、HTTP ヘッダーや JS のIntlAPI の整合性を保ちますpage.route()を使用して不要な画像やウェブフォントのリクエストを遮断することで、スクレイピングのスループットを大幅に向上させます
手順
- 1
IP、ポート、ユーザー名、パスワードを取得
VinaProxy ダッシュボードから
ip:port:user:passの接続情報をコピーします。 - 2
proxy オブジェクトを newContext() に渡す
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } })を呼び出します。 - 3
timezoneId と locale をプロキシ所在地に合わせる
プロキシの国や地域に合致する
timezoneIdおよびlocale(例:America/New_YorkやAsia/Ho_Chi_Minh)を指定します。 - 4
新しいページで接続元 IP を確認する
const page = await context.newPage()でタブを開き、https://vinaproxy.com/api/my-ipにアクセスして割り当てられた IP を確認します。
よくある質問
Playwright で 'Proxy is only supported when browser is launched with a proxy' と表示される原因は?
Windows および macOS 上の Chromium では、コンテキスト別のプロキシ設定を許可するために、ブラウザ起動時にグローバルなプロキシ引数が必要です。chromium.launch({ proxy: { server: 'http://per-context' } }) でブラウザを起動した上で、各 browser.newContext({ proxy }) に個別のプロキシを指定してください。
VinaProxy のプロキシは Playwright の Firefox や WebKit でも動作しますか?
はい。Node.js および Python のいずれにおいても、Chromium、Firefox、WebKit の全エンジンで全く同一の proxy: { server, username, password } 構文が利用可能です。
ヘッドレスの Playwright ブラウザ運用時に転送量の制限はありますか?
いいえ。すべての VinaProxy 専用 IPv4 および静的 ISP プランは、月間データ転送量無制限で提供されています。
専用静的 IP で Playwright BrowserContext をスケーリング
世界 7 拠点に対応した無制限・高速 HTTP(S) 専用プロキシ。
Playwright 用プロキシを購入