在无头模式下在 Linux(CetOS7)上使用 ChromeDriver 87.0.4280.88 运行 Selenium。
我知道并非所有网络功能都支持无头模式,但感觉应该支持不使用任何代理运行。基本上我有两个选项可以运行:
- 使用 PAC 文件,目前无头模式不支持该文件Chromium 问题 765245
- 明确禁用代理,使用
--noproxy
标志运行 curl 即可
到目前为止,我尝试了以下选项来禁用代理:
--proxy-server="direct://"
Chrome 根本无法启动--no-proxy-server
收到“主机无法解析”的消息。
还有其他方法可以禁用代理吗?
答案1
我也遇到了这个问题,似乎--no-proxy-server
在无头模式下不受支持。请参阅 Chromium 问题829247
我发现的解决方法是将这两个标志与--headless
--proxy-server='direct://'
和:
--proxy-bypass-list=*
传递这些标志后,Chrome 会忽略系统代理设置,据我测试,它们在我的测试机器上可以正常工作。 --proxy-server='direct://'
单独使用似乎不足以使其工作,您需要设置两个标志。
答案2
最简单的方法就是添加以下内容:
chrome_options.add_argument('--proxy-server=')