[英]Setting chromedriver proxy auth with Selenium using Python
我正在使用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的正確和正確方法是什么?
它與以下內容不同: 如何在Selenium Java中為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。 截至目前,我不知道另一種解決方案,但如果我發現任何問題,我將進行實驗和更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.