What is Selenium WebDriver?
Selenium WebDriver is a set of open-source APIs, which provided the capabilities to interact with any of the modern web-browsers and then, in-turn to automate the user actions with that browser. It is an essential component of the Selenium family. As we know, Selenium is not an independent tool; rather, it is a collection of tools that make the Selenium suite, which was created when two projects Selenium RC and WebDriver were merged.
- Client Libraries (Language Bindings)
π This is just your programming language support
Examples:
Java
Python
C#
JavaScript
Simple meaning:
βSelenium lets you write automation code in your favorite language.β
So you can say:
Java code β Selenium library understands it
Python code β Selenium library understands it
π‘ 2. Communication (JSON /W3C+ HTTP)
π This is how Selenium sends messages
Simple meaning:
βYour code talks to browser using messages sent over the internet format (HTTP + JSON)β
Think like:
You (Java code)
β message
Browser driver
Message looks like:
click button
open URL
type text
π 3. Browser Drivers
Examples:
ChromeDriver
GeckoDriver
Simple meaning:
βEach browser has its own helper program that understands Selenium commandsβ
So:
Chrome β ChromeDriver
Firefox β GeckoDriver
π This driver acts like a translator
π 4. Browsers
Examples:
Chrome
Firefox
Edge
Simple meaning:
βThis is where your website actually opens and runsβ
Browser must be installed because:
Selenium does NOT create browsers
It only controls existing browsers
π Full flow (very simple)
Your Code (Java/Python)
β
Selenium Library
β
HTTP + JSON messages
β
Browser Driver (ChromeDriver / GeckoDriver)
β
Browser (Chrome / Firefox)
Selenium 4 - Selenium Manager:
π Selenium Manager is an internal feature of Selenium 4 WebDriver that automatically handles browser drivers.
Built inside Selenium 4 WebDriver library itself
βοΈ** What it does**
β Detects installed browser version
β Downloads correct driver (ChromeDriver/GeckoDriver, etc.)
β Sets driver path automatically
β Removes need for System.setProperty()
β In Selenium 3
No Selenium Manager
You had to manually set:
System.setProperty("webdriver.chrome.driver", "path");

Top comments (0)