首页 > 解决方案 > 使用 Selenium 访问代理服务器后面的网站,使用 Google Chrome 无头,在使用 Fiddler 时有效

问题描述

我在运行 selenium 测试运行时遇到问题,使用 google chrome headless,访问只能通过代理服务器访问的站点。

TLDR:Chrome headless 无法通过代理服务器访问网站,除非 fiddler 正在运行

试图诊断问题,我发现了一组奇怪的情况导致它工作:

注意: - 没有启用 chrome 扩展。

因此,除非 fiddler 正在运行,否则 chrome headless 无法通过代理访问站点。有谁知道为什么会这样,以及我如何在不运行 Fiddler 的情况下使其工作?

标签: windowsgoogle-chromeselenium-webdriverproxyfiddler

解决方案


我使用网络监视器看到无头 chrome 调用正在解析为网站 IP 地址,而不是代理的 IP 地址,因此看起来无头 chrome 没有使用默认代理,正如怀疑的那样。

最后,配置 nunit 测试以使用 --proxy-server 参数将代理服务器传递给无头 chrome 就可以了。


推荐阅读