[英]How to use proxy with authentication in headless chorme browser using selenium and python?
我使用過DesiredCapabilities
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
}
chrome_options = Options()
chrome_options.add_argument('--headless')
但沒有任何事情發生,如果我刪除無頭,我會看到身份驗證需要警報。
我也用過
chrome_options.add_argument('--proxy-server=http://%s:%s@%s:%s'%(Config.PROXY_USERNAME,Config.PROXY_PASSWORD,Config.PROXY_URL,Config.PROXY_PORT))
但這沒有幫助。 在哪里我將“http”更改為“襪子”,“socks4”和“socks5”,這甚至沒有幫助。
不幸的是,無頭鍍鉻丟棄警報( 問題718235 )並且不支持擴展( 問題706008 ),因此我們不能使用在GUI模式下工作的技巧。 這給我們留下了兩個主要選擇:
無需身份驗證即可運行單獨的代理,並通過身份驗證將其重定向到目標代理。
您可以使用mitmproxy在一行中完成 :
mitmproxy --mode upstream:http://<target-proxy-ip>:<target-proxy-port> --upstream-auth <user>:<password> -p 3128
並將客戶端配置為使用localhost:3128
as代理人。
你可以通過pip安裝mitmproxy:
pip install mitmproxy
(需要python3)
參考: https : //docs.mitmproxy.org/stable/overview-installation/
或者使用Squid代理: Squid:轉發到另一個代理(具有父代理的身份驗證詳細信息)
Xvfb在虛擬內存中執行所有圖形操作,而不顯示任何屏幕輸出
參考: https : //www.x.org/releases/X11R7.7/doc/man/man1/Xvfb.1.xhtml
以下是與Selenium一起使用它的說明: 如何在Xvfb中運行Selenium?
Xvfb的Python包裝器: https : //github.com/ponty/pyvirtualdisplay
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.