Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

configuring Selenium driver to use Socks5 proxy

I'm trying to use my Socks5 proxy while using Selenium web driver here is my code :

        System.setProperty("webdriver.chrome.driver", "dependencies/chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        Proxy prx =new Proxy() ;
        prx.setSocksVersion(5);
        prx.setSocksProxy("xx.xxx.xxx.xxx:8000");
        prx.setSocksPassword("5xxxxS") ;
        prx.setSocksUsername("VxxxxW") ;
        options.addArguments("--disable-notifications");
        options.addArguments("start-minimized");
        options.setCapability("proxy", prx);
        WebDriver driver = new ChromeDriver(options); // issue here

I'm having the following error :

Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
like image 606
Asmoun Avatar asked Jul 01 '26 21:07

Asmoun


1 Answers

You should add proxy server arguments to ChromeOptions:

String host = "shadowsocks6.freeproxy.center";
String port = "8989";
String socks5User = "SOCKS_USER";
String socks5Pass = "SOCKS_Pass";

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--proxy-server=socks5://" + host + ":" + port);
chromeOptions.addArguments("--proxy-auth=" + socks5User + ":" + socks5Pass);
WebDriver driver =  new ChromeDriver(chromeOptions);

You can refer to selenium-tiny-projects for complete source code

like image 189
Hana Bzh Avatar answered Jul 03 '26 14:07

Hana Bzh