Guide by Sebastiaan Baan

Selenium is a browser automation tool. It has the support of some of the largest browser vendors and is widely used by companies to automate day to day tasks.



Selenium does not support the standard username:password authentication thus you will need to have whitelisted IP to continue progress with this automation tool.

1. Choosing your language

Selenium officially supports the following programming languages:

  • Java
  • C#
  • Ruby
  • Python
  • Javascript (Node)

To use this tool, it's recommended to have experience with at least one of these programming languages or have programming background in general.

2. Choosing your WebDriver

Selenium offers a variety of WebDrivers to perform tests. To continue development with this tool, you will need to use at least one of the available WebDrivers.

You can find the whole list of available WebDrivers here however, currently, Smartproxy providers tutorials for the following two:

3. Getting in to the code

Smartproxy offers code examples for all 5 programming languages officially supported by Selenium.

Do note that while syntax and code layout may differ, the principle of proxy setup is relatively similar to each programming language.

To download our Code example for your preferred programming language and WebDriver, take a look at the tables below:

Google Chrome Driver

curl >
curl > example.cs
curl > example.rb
curl >
curl > example.js

Mozilla GeckoDriver

curl >
curl > example.cs
curl > example.rb
curl >
curl > example.js

You can copy and run all of the commands from the table above in your Terminal/Command Prompt window.

4. Configuring the connection

To configure your preferred endpoint in our code examples, please use line within the punctuation marks (''). Different languages will have this line placed and formatted differently, take a look at the reference table below:

String ProxyServer = "";
int ProxyPort = 7000;
HttpProxy = ""
proxy = "")
PORT = '7000'
let addr = ''

5. Additional information

Please note that the examples provided are just for proxy setup reference.

If you need more help with the setup, refer to our Github page for language-specific setups: