PythonとSeleniumライブラリを使用してテストスイートをコーディングしています。chromedriverを使用して、次を使用してプロキシを設定しています。
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % hostname + ":" + port)
global driver
driver = webdriver.Chrome(chrome_options=chrome_options)
これは、プロキシに認証がない場合に正常に機能します。ただし、プロキシでユーザー名とパスワードを使用してログインする必要がある場合は、機能しません。 add_argumentまたは他の方法を使用してプロキシ認証情報をchromedriverに渡すための正しく適切な方法は何ですか?
これは次と同じではありません: SeleniumJavaでChrome)のプロキシ設定を設定する方法
として見る:
DesiredCapabilities
を使用します。私は次のようにプロキシ認証を正常に使用しています。
from Selenium import webdriver
from Selenium.webdriver.common.desired_capabilities import DesiredCapabilities
proxy = {'address': '123.123.123.123:2345',
'username': 'johnsmith123',
'password': 'iliketurtles'}
capabilities = dict(DesiredCapabilities.CHROME)
capabilities['proxy'] = {'proxyType': 'MANUAL',
'httpProxy': proxy['address'],
'ftpProxy': proxy['address'],
'sslProxy': proxy['address'],
'noProxy': '',
'class': "org.openqa.Selenium.Proxy",
'autodetect': False}
capabilities['proxy']['socksUsername'] = proxy['username']
capabilities['proxy']['socksPassword'] = proxy['password']
driver = webdriver.Chrome(executable_path=[path to your chromedriver], desired_capabilities=capabilities)
編集:残念ながら、SeleniumまたはChromeこの投稿以降)のいずれかに更新されたため、このメソッドは機能しなくなったようです。現時点では、別の解決策はわかりませんが、実験して更新します私が何かを見つけたらこれ。