我在为 Selenium 使用的 Firefox 设置代理时遇到问题。firefox 安装是默认的(v 14.0.1,%programfiles%/mozilla firefox/)。我使用默认配置文件启动了 firefox 并设置了代理(我不需要代理或手动代理,但有一个例外)。要测试的站点是可访问的。(使用默认代理设置无法访问该站点)
我启动了默认的 selenium 节点
java -jar selenium-server-standalone-2.24.1.jar -role node -hub http://localhost:4444/grid/register
如果我开始 selenium 测试 ff 打开,输入 url 但现在我得到代理错误。如果我中断测试并检查设置:代理恢复默认值。在“about:config”中,我可以看到并非所有设置都是默认设置,似乎 WebDriver 已经设置了一些东西(更新关闭等)。
所以我的下一个方法是设置节点:
-firefoxProfileTemplate <my default profile folder>
但没有成功 - 似乎硒完全忽略了。设置不同的配置文件也不起作用。
那么如何让firefox使用我的特殊代理设置呢?(我也试过没有网格,用本地火狐运行测试 - 同样的问题)
通过这里的技巧,我可以看到活动配置文件:“anonymous3433195750899294958webdriver-profile”可以让 webdriver 不使用它吗?
更新:似乎唯一可行的方法是在 java 中设置代理:
DesiredCapabilities FF = DesiredCapabilities.firefox();
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.DIRECT);
FF.setCapability(CapabilityType.PROXY, proxy);
但是从长远来看,这种硬编码的解决方案是没有选择的,我需要独立于环境的代码,除此之外我想知道发生了什么。