我使用了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"袜子"袜子"袜子4"和" socks5"这并没有帮助。
答案 0 :(得分:0)
不幸的是,无头Chrome会丢弃警报(Issue 718235),并且不支持扩展(Issue 706008),因此我们无法使用在GUI模式下有效的技巧。剩下两个主要选择:
运行一个没有身份验证的单独代理,然后通过身份验证将其重定向到目标代理。
您可以使用mitmproxy在一行中完成此操作:
mitmproxy --mode upstream:http://<target-proxy-ip>:<target-proxy-port> --upstream-auth <user>:<password> -p 3128
并将您的客户端配置为使用localhost:3128
作为代理。
您可以通过pip
pip install mitmproxy
安装mitmproxy(要求 python3)
参考: https://docs.mitmproxy.org/stable/overview-installation/
或使用 Squid 代理:Squid: forward to another proxy (with authentication details for the parent proxy)
Xvfb在虚拟内存中执行所有图形操作,而无需 显示任何屏幕输出
参考: https://www.x.org/releases/X11R7.7/doc/man/man1/Xvfb.1.xhtml
以下是与Selenium结合使用的说明:How do I run Selenium in Xvfb?
Xvfb的Python包装器:https://github.com/ponty/pyvirtualdisplay
祝你好运!