Search code examples
seleniumselenium-webdrivergeckodriver

using http proxy with selenium Geckodriver


I tried a few things but non of them worked. Anyone have a working example of using a HTTP proxy with Geckodriver for Selenium 3? I am using Java bindings

Here is what I tried

        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        Proxy proxy = new Proxy();
        proxy.setHttpProxy("proxyip:proxyport");
        capabilities.setCapability("proxy", proxy);

        System.setProperty("webdriver.gecko.driver", "C:\\geckodriver-v0.16.1-win64\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver(capabilities);

Solution

  • To enable proxy with Firefox browser you need to create a new profile and pass it to the driver as follows:

    • Setting up HTTP proxy:

      FirefoxProfile profile = new FirefoxProfile();         
      profile.setPreference("network.proxy.type", 1);
      profile.setPreference("network.proxy.http", "localhost");     
      profile.setPreference("network.proxy.http_port", 3128); 
      WebDriver driver = new FirefoxDriver(profile);
      
    • Setting up SSL proxy:

      FirefoxProfile profile = new FirefoxProfile();         
      profile.setPreference("network.proxy.type", 1);
      profile.setPreference("network.proxy.ssl", "localhost");     
      profile.setPreference("network.proxy.ssl_port", 3128); 
      WebDriver driver = new FirefoxDriver(profile);