【问题标题】:Selenium Remotewebdriver Proxy Setting for SafariSafari 的 Selenium Remotewebdriver 代理设置
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

  • Dose Safari 驱动程序现在支持代理设置(2017 年 12 月)?
猜你喜欢
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-03-27
相关资源
最近更新 更多