【发布时间】:2013-11-07 21:58:28
【问题描述】:
我正在使用远程 Web 驱动程序,在 c# 中使用 fiddlercore 作为我的代理。我想要做的是使用提琴手代理导航到一个网址。我可以用 chrome 和 firefox 做到这一点,但这在 safari 中不起作用。这是我的 Firefox 代码。
int proxyPort = StartFiddlerProxy(0);
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.Kind = ProxyKind.Manual;
proxy.HttpProxy = "localhost:" + proxyPort;
var cap = DesiredCapabilities.Firefox();
cap.SetCapability(CapabilityType.Proxy, proxy);
FirefoxProfile profile = new FirefoxProfile();
profile.SetProxyPreferences(proxy);
cap.SetCapability(FirefoxDriver.ProfileCapabilityName, profile)
var webDriver = new RemoteWebDriver(new Uri("localhost:1000/wd/hub"), cap);
当我打开 Firefox 时,代理设置如下所示:
这是我的 safari 代码
int proxyPort = StartFiddlerProxy(0);
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.Kind = ProxyKind.Manual;
proxy.HttpProxy = "localhost:" + proxyPort;
cap = DesiredCapabilities.Safari();
cap.SetCapability(CapabilityType.Proxy, proxy);
var webDriver = new RemoteWebDriver(new Uri("localhost:1000/wd/hub"), cap);
当我打开 safari 时,代理设置如下所示:
请注意,设置根本没有改变,甚至是地址和端口
有人知道如何正确设置代理服务器吗?
【问题讨论】:
-
究竟是哪个版本的 Safari?不再支持 Windows 上的 Safari。值得一提的是,旧版本的 Safari 使用 IE 代理设置,因此您可以尝试将 DesiredCapabilities 更改为指向 IE。
-
我有最新版本的 safari。如果我将所需的功能更改为 IE,则 selenium 会打开一个 IE 浏览器。
标签: selenium proxy selenium-rc fiddler remotewebdriver