1

我正在使用远程 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 时,代理设置如下所示: 在此处输入图像描述

请注意,设置根本没有改变,即使是地址和端口

有谁知道如何正确设置代理服务器?

4

1 回答 1

1

这是 SafariDriver 的一个已知限制。它不尊重通过 Desired Capabilities 传递的代理设置。

然而,Firefox 通过 Desired Capabilities 尊重代理设置。Safari 驱动程序已将其视为增强功能。

于 2015-07-14T23:14:58.157 回答