Arya
Arya

Reputation: 8985

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

Upvotes: 2

Views: 9328

Answers (2)

alex
alex

Reputation: 165

If you need to use a proxy with authorization, then selenium will not be able to do it. Since selenium does not support working with alerts asking for a password. I wrote an add-on for Firefox with which you can solve both the problem with the proxy and with cookies and headers.

https://github.com/alexsok-bit/selenium_helper

You can use an add-on from the releases directory, it is already signed

Upvotes: 0

undetected Selenium
undetected Selenium

Reputation: 193108

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

Upvotes: 4

Related Questions