Seleniumでプロキシを使用する方法
SeleniumのChromeは--proxy-serverフラグでユーザー名とパスワードを受け付けません。最も簡単な方法は、ログインを処理するselenium-wireを使用することです。
手順
- pip install selenium-wireでselenium-wireをインストール
- seleniumwire_optionsにユーザー名とパスワードを含むプロキシURLを渡す
- ドライバーを起動してターゲットページを開く
- テスト全体で1つのIPを維持するにはセッションIDを使用
コード例
from seleniumwire import webdriver
proxy = "http://USERNAME-cc-ca:PASSWORD@gw.gbproxies.cc:10000"
driver = webdriver.Chrome(seleniumwire_options={
"proxy": {"http": proxy, "https": proxy, "no_proxy": "localhost,127.0.0.1"}
})
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()USERNAMEとPASSWORDをコンソールのProxiesページのプロキシログインに置き換えてください。ポート10000は住宅用HTTPです。各製品のポートは以下を参照してください。
ヒント
- Chrome設定で画像をオフにしてGBを節約
- 固定セッションごとに1つのドライバーを実行
よくある質問
追加パッケージなしで通常のSeleniumを使用できますか?
Chromeはプロキシログインに拡張機能またはselenium-wireが必要です。Firefoxはプロファイルから認証情報を読み取れます。