Add proxy to PhantomJSDriver (Selenium C#)

2019-02-20 08:33发布

问题:

I'd like to listen to traffic generated by phantomjs selenium driver in c#. The below code does not work unfortunately!

PhantomJSOptions phoptions = new PhantomJSOptions();

phoptions.AddAdditionalCapability("proxy", "http://localhost:9999");

driver = new PhantomJSDriver(phoptions);

can anyone help me what's wrong with it!

Thanks in advance

回答1:

Proxy proxy = new Proxy();
proxy.HttpProxy = string.Format("127.0.0.1:9999");
var service = PhantomJSDriverService.CreateDefaultService();
service.ProxyType = "http";
service.Proxy = proxy.HttpProxy;
IWebDriver driver = new PhantomJSDriver(service);

Some quick testing showed this work for me.



回答2:

You can use the CapabilityType class to set the proxy capability. Here is a modified version of your code above:

PhantomJSOptions phoptions = new PhantomJSOptions();

phoptions.AddAdditionalCapability(CapabilityType.Proxy, "http://localhost:9999");

driver = new PhantomJSDriver(phoptions);

This worked for me. Arran's answer did not work for me. For some reason, my PhantomJSDriverService class did not have a ProxyType or Proxy member.