統合 · 中級

Selenium WebDriver でのプロキシの使用 (Chrome および Firefox)

ブラウザを開く前にプロキシを設定し、ブラウザでサポートされている認証と Selenium のバージョンを選択します。アクティブ化されたソース IP ホワイトリストは、固定サーバーに役立ちます。現在の Selenium は、WebDriver BiDi 認証ハンドラーも公開しています。ブラウザの正確な組み合わせでプロキシ認証を確認してください。 Selenium Wire はアーカイブされてお​​り、デフォルトの推奨セットアップではありません。

2 分で読めます 4つのセクション 確認日 編集チーム Proxy Cyber

Access でサーバーの実際の送信パブリック IPv4 を送信し、管理者によるアクティブ化を待ちます。 NAT または VPN によって、ゲートウェイが認識するアドレスが変更される場合があります。パスワードなしのアクセスは、割り当てられたサービスへのエントリが確認された後にのみ機能します。国とセッションのオプションを個別に確認します。送信元 IP 許可リストはユーザー名パラメーターを送信しません。 ホワイトリスト

Python、Chrome、ホワイトリストに登録されたサーバー
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opts = Options()
opts.add_argument("--proxy-server=http://res.proxy-cyber.com:9000")
opts.add_argument("--headless=new")
driver = webdriver.Chrome(options=opts)
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()

オプション 2: WebDriver BiDi 認証 #

この例では、Selenium で維持されている WebDriver BiDi API を、enable_bidi と network.add_auth_handler とともに使用します。ジョブで使用する前に、インストールされているブラウザとドライバーを使用して HTTP プロキシ チャレンジをテストします。ハンドラーは 1 つのホストに制限されないため、無関係な認証プロンプトを表示せずに分離されたブラウザー セッションを使用します。ご使用のバージョンの組み合わせでプロキシ認証がサポートされていない場合は、アクティブ化された IP ホワイトリストを使用してください。

Python、WebDriver BiDi
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.enable_bidi = True
options.add_argument("--proxy-server=" + os.environ["PROXY_SERVER"])

with webdriver.Chrome(options=options) as driver:
    handler = driver.network.add_auth_handler(
        os.environ["PROXY_USER"], os.environ["PROXY_PASSWORD"]
    )
    try:
        driver.get("https://api.ipify.org")
        print(driver.find_element("tag name", "body").text)
    finally:
        driver.network.remove_auth_handler(handler)

Firefox#

Python、Firefox
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

opts = Options()
opts.set_preference("network.proxy.type", 1)
opts.set_preference("network.proxy.http", "res.proxy-cyber.com")
opts.set_preference("network.proxy.http_port", 9000)
opts.set_preference("network.proxy.ssl", "res.proxy-cyber.com")
opts.set_preference("network.proxy.ssl_port", 9000)
opts.set_preference("media.peerconnection.enabled", False)  # no WebRTC leak
driver = webdriver.Firefox(options=opts)  # whitelisted server, no prompt

実践的なルール#

  • 割り当てられたゲートウェイがサポートする独立したワークフローごとに、個別のセッション ID を使用します。接続の詳細で、許可されている期間と場所のパラメーターを確認してください。住宅用デバイスは、要求された期間が経過する前に切断される可能性があります。スティッキー セッションは、何日間も同じ IP を保証するものではありません。固定アドレスの場合はスタティック専用品と比較してください。
  • 使用する --headless=new Chromeの場合。古いヘッドレス モードには独特の指紋があります。
  • 個別のセッション識別子は、ブラウザの Cookie やアプリケーションの状態ではなく、ルーティング設定を分離します。少数のワーカーから始めて、エラーとトラフィックを測定し、注文と目的地で確認された制限内で徐々に増やしてください。都市または通信事業者の選択が狭いと、利用可能な容量が減少する可能性があります。

人々が尋ねる質問#

Chrome が Selenium でプロキシ ログイン プロンプトを表示するのはなぜですか?

固定サーバーに対してアクティブ化されたソース IP ホワイトリストを使用するか、インストールされているブラウザーで Selenium の現在の WebDriver BiDi 認証ハンドラーをテストします。新しい統合では、アーカイブされた Selenium Wire インストールに依存しないでください。

あなたのアカウント

1 つのアカウントでプロキシを管理

1 つのダッシュボードからネットワークを比較し、注文し、残高とサポート リクエストを追跡します。私たちのチームが支払いを確認し、配達後に接続の詳細を提供します。

アカウント作成