Selenium WebDriverで認証付きプロキシを設定する方法

更新日:

標準のChromeDriverフラグ --proxy-server=http://ip:port はインラインの user:pass 認証情報を無視するため、ログインダイアログが表示されて処理が停止します。Seleniumで VinaProxy の認証済みHTTP(S)プロキシをスムーズに使用するには、selenium-wire を介して認証情報を渡すか、軽量なChrome onAuthRequired バックグラウンド拡張機能を読み込ませます。

Selenium · HTTP Proxy Format
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)
専用IPv4(データセンター)
🇺🇸 United States
在庫あり
最安
₫20,000 / IP / 月
≈ $0.74 · VND決済
ボリュームディスカウント
  • 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
United Statesを購入
静的レジデンシャルISP
🇺🇸 United States
在庫あり
最安
₫55,000 / IP / 月
≈ $2.04 · VND決済
ボリュームディスカウント
  • 1 IP₫75,000
  • 3+ IP₫70,000
  • 5+ IP₫65,000
  • 10+ IP₫60,000
  • 50+ IP₫60,000
  • 100+ IP₫60,000
  • 200+ IP₫60,000
  • 500+ IP₫55,000
United Statesを購入
プラットフォーム別プロキシ:web-scrapingseo-rank-trackingamazon

Seleniumでプロキシ認証を行う2つの確実なアプローチ

使用している言語ランタイムとブラウザドライバの構成に合わせて最適な方法を選択してください:

アプローチコード構文の例最適な用途
selenium-wire(Python)seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}Pythonで最も迅速な設定方法。セッション実行中のプロキシ動的切替にも対応
Chrome Auth 拡張機能chrome.webRequest.onAuthRequired を処理するZIP拡張機能を読み込むPython、Java、C#の標準Seleniumや undetected-chromedriver に最適
Playwrightへの移行browser.newContext({ proxy: { server, username, password } })拡張機能不要でコンテキストごとのネイティブプロキシ認証に対応

プロキシ環境でのSeleniumスクレイピング最適化のコツ

  • options.page_load_strategy = 'eager' を設定し、DOMの読み込みが完了した時点で操作を開始して、重い解析タグの読み込み待ちを省きます
  • ヘッドレス実行時は --headless=new(Chrome 109以降)を使用し、Chrome拡張機能とプロキシ認証を有画面モードと全く同様に動作させます
  • テキストデータのみを抽出する場合は、Chromeの設定で画像の描画を無効化して帯域幅を節約し高速化を図ります
  • 孤立したChromiumプロセスが残らないよう、必ず try / finally: driver.quit() でドライバを終了してください

手順

  1. 1

    selenium-wire のインストール

    Pythonの仮想環境で pip install selenium-wire を実行します。

  2. 2

    VinaProxy プロキシ設定辞書の定義

    認証情報を sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}} の形式で定義します。

  3. 3

    seleniumwire_options を指定して Chrome を起動

    driver = webdriver.Chrome(seleniumwire_options=sw_options) でブラウザを初期化します。

  4. 4

    出口IPアドレスの確認

    driver.get('https://vinaproxy.com/api/my-ip') を開き、返却されたJSONにプロキシIPが表示されていることを確認します。

よくある質問

ChromeOptionsの'--proxy-server=http://user:pass@ip:port'が機能しない原因は?

Chromiumの仕様により、コマンドライン引数の --proxy-server から user:pass@ 部分が自動的に除外されるためです。selenium-wire、onAuthRequired 拡張機能、または Playwright を使うことで解決できます。

selenium-wireでChromeを再起動せずにプロキシを変更できますか?

はい、可能です。実行中に driver.proxy = {'http': 'http://...', 'https': 'http://...'} に新しい辞書を再代入することで、瞬時に接続先プロキシを切り替えられます。

Chromeプロキシ拡張機能はヘッドレスモードでも動きますか?

はい。旧来の --headless ではなく --headless=new フラグを指定すれば正常に動作します。

通信量無制限の固定IPでSelenium WebDriverを大規模運用

世界7カ国の専用IPv4および固定住宅ISPプロキシを即時提供。

Selenium用プロキシを購入

関連記事

プラットフォーム別プロキシ
Webスクレイピング用プロキシ:24時間365日クローラー向け無制限専用IPv4&ISPプール
Python、Playwright、Selenium、Scrapy向け高速HTTP(S)専用IPv4&固定ISPプロキシ。月間帯域幅無制限。
ツール別プロキシ設定
Playwright でプロキシを設定する方法(ブラウザ全体 & コンテキスト別認証)
Node.js と Python の Playwright で認証付き HTTP(S) プロキシを設定。単一ブラウザ内の各 BrowserContext に独立した固定静的 IP を割り当てます。
ツール別プロキシ設定
Python Requestsでプロキシを使用する方法(HTTP/HTTPS & Sessionプーリング)
Python requestsおよびrequests.Session()での認証付きHTTP(S)プロキシ設定。407 ProxyErrorの解決法と固定IPプールのローテーション手法。
ツール別プロキシ設定
Puppeteer で認証付きプロキシを設定する方法(Node.js ガイド)
Node.js Puppeteer で認証付き HTTP(S) プロキシを設定する方法。--proxy-server 起動フラグと await page.authenticate() を連携させて安定した通信を実現します。
プラットフォーム別プロキシ
SEO&SERP順位追跡用プロキシ:7か国の正確な検索結果順位をリアルタイム監視
地域別キーワード順位の追跡、Geoリダイレクトの監査、Screaming Frogによるクローリングを無制限の専用IPv4&固定ISPプロキシで実現。
プラットフォーム別プロキシ
Amazon用プロキシ:セラーセントラル・KDP・Merchを固定IPで完全分離
セラーセントラル、KDP、Merch on Demandにおける関連アカウント停止を防止。アメリカの固定ISPおよびイギリス・日本の専用IPv4プロキシ。
IPV4 · united states
米国専用IPv4プロキシ:高速かつ専用のアメリカデータセンターIP
米国専用IPv4プロキシ:スクレイピング、順位計測、広告確認、Amazon調査に。固定IP、1人1IP、帯域無制限、即時有効化。
ISP · united states
米国固定ISPプロキシ:家庭用回線と同じ接続環境を提供する専用固定米国IP
米国固定ISPプロキシ:家庭用通信事業者登録の米国固定IP。Amazon出品者、広告アカウント、Instagramに。帯域無制限。