2017-05-31 83 views
0

我有这样的设置是设置代理确定在本地浏览器,但是当我尝试使用电网的代理将不会被发送到节点:硒代理网格

var driver = new webdriver.Builder() 
      .withCapabilities(webdriver.Capabilities.firefox()) 
      .setProxy(proxy.manual({ http : 'proxy:port', 
            https : 'proxy:port', 
            })) 

      .build(); 

结果:浏览器代理是 - proxy:port;

当我添加:

var driver = new webdriver.Builder() 
      .withCapabilities(webdriver.Capabilities.firefox()) 
      .setProxy(proxy.manual({ http : 'proxy:port', 
            https : 'proxy:port', 
            })) 
      .usingServer('http://hub:port/wd/hub') 
      .build(); 

结果:浏览器代理是 - 它showes我中心的IP地址。 问题:没有人知道为什么代理集manualy没有发送到集线器,为什么浏览器不使用它?或者任何其他解决这个问题的方法?

回答

0

这是工作的解决方案:

var webdriver = require('selenium-webdriver'), 
firefox = require('selenium-webdriver/firefox'), 
proxy = require('selenium-webdriver/proxy') 
driver = null, 
profile = new firefox.Profile(); 
profile.setPreference("network.proxy.type", 1); // Manual proxy config 
profile.setPreference("network.proxy.http", "proxy"); 
profile.setPreference("network.proxy.http_port", port); 
profile.setPreference("network.proxy.ssl", "proxy"); 
profile.setPreference("network.proxy.ssl_port", port); 

var opts = new firefox.Options(); 
opts.setProfile(profile); 
var driver = new webdriver.Builder() 
    .withCapabilities(webdriver.Capabilities.chrome()) 
    .setFirefoxOptions(opts); 
    .build();