1

fiddlercore を c# のプロキシとして使用して、リモート Web ドライバーを使用しています。私がやりたいことは、フィドラー プロキシを使用して URL に移動することです。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 を開くと、プロキシ設定は次のようになります。

ここに画像の説明を入力

これはサファリの私のコードです

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);

サファリを開くと、プロキシ設定は次のようになります。 ここに画像の説明を入力

アドレスとポートを含め、設定はまったく変更されないことに注意してください。

プロキシサーバーを正しく設定する方法を知っている人はいますか?

4

1 に答える 1

1

これは、SafariDriver の既知の制限です。Desired Capabilities を介して渡されたプロキシ設定は考慮されません。

ただし、Firefox は Desired Capabilities を通じてプロキシ設定を尊重します。Safari Driver は、これを拡張機能として認めています。

于 2015-07-14T23:14:58.157 に答える