如何在 Linux 上使用 noproxy 运行 Chrome headless?

如何在 Linux 上使用 noproxy 运行 Chrome headless?

在无头模式下在 Linux(CetOS7)上使用 ChromeDriver 87.0.4280.88 运行 Selenium。

我知道并非所有网络功能都支持无头模式,但感觉应该支持不使用任何代理运行。基本上我有两个选项可以运行:

  1. 使用 PAC 文件,目前无头模式不支持该文件Chromium 问题 765245
  2. 明确禁用代理,使用--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=')

相关内容