我尝试使用PIA提供的SOCKS 5代理(https://www.privateinternetaccess.com)。我在他们的网站上为SOCKS 5生成了用户/通行证,但我无法使用此信息,因为我不知道将其放在哪里。我尝试使用ChromeOptions
,但它不工作。
def create_browser(self, proxy):
"""
proxy = "xGeneratedUser:GeneratedPass@proxy-nl.privateinternetaccess.com:1080"
"""
chrome_options = webdriver.ChromeOptions()
if proxy:
chrome_options.add_argument("--proxy-server=socks5://" + proxy)
try:
self.browser = webdriver.Chrome('./chromedriver', chrome_options=chrome_options)
self.browser.set_window_size(800, 600)
except Exception as error:
return False
5条答案
按热度按时间ryoqjall1#
我也在这里犯了难。我也想在 selenium 的chrome webdriver中使用auth代理。我试过使用httpProxy或PAC,在其中我们不能使用用户名和密码。
然后我看到了
socksUsername
和socksPassword
,但它仍然是无用的。因为错误:我发现chrome代码说需要
socksProxy
密钥,但是目前selenium是不支持socksProxy的,请看selenium代码。所以我只好选择别的办法:
export http_proxy=http://username@pass:host:port
在路径中设置http_proxyUPDATE:最后,我使用pproxy make作为本地的代理重定向器。
所以现在你可以连接到你的本地主机:8080没有授权。
cxfofazt2#
以防有人发现这个...
我尝试使用selenium连接socks 5代理,并认为问题是代理需要用户/传递身份验证,由于我使用的是chromedriver,它无法工作,因为chrome本身不支持这一点。
尝试连接一个不需要身份验证的socks 5代理,或者找到一个支持这个的驱动程序-不知道这可能是什么。
amrnrhlw3#
您可以尝试以下替代方法:-
.bashrc
集合proxy
中,chrome本身将使用:-在Windows上,对于有或没有身份验证的http/https代理,请在cmd.exe中运行以下命令之一:-
hrysbysz4#
参数:
executable_path
-可执行文件的路径。如果使用默认值,则假定可执行文件位于$PATH中port
-port您希望服务运行,如果保留为0,将找到一个空闲端口。desired_capabilities
:仅具有非浏览器特定功能的Dictionary对象,例如"proxy"或"loggingPref"。chrome_options
:这需要一个ChromeOptions示例您可以按照下表的URL为desired_capabilities编写代理字典对象。DesiredCapabilities-代理JSON对象
zf9nrax15#
是的,试试这个:
var客户端=需要('webdriverio').远程({主机:“用户名:密码@127.0.0.1”端口:1234,所需功能:{浏览器名称:'chrome' } })