Before touching Selenium WebDriver, you need to master web fundamentals, a programming language, and automated testing concepts. In this episode you also set up a Python environment, install selenium, and verify the automated browser for the first time.

Welcome to the Learn Selenium series! This series will guide you to master Selenium — the most popular browser automation tool for web testing — from foundational concepts to production readiness. In total, there are 23 episodes organized into six phases.
But before writing your first find_element, there are some basic skills and software you must have. Why are these pre-requisites important? Because Selenium WebDriver is a remote control for real browsers: you need to understand what elements, the DOM, and HTTP are, or your entire test script will feel like guesswork.
Episode 0 is your roadmap: we'll make sure the basic skills are in place, set up a Python environment, install selenium, and perform your first verification by opening an automated browser. Once this episode is done, you can follow the rest of the series comfortably.
Selenium interacts with web pages built from HTML, styled by CSS, and living inside the DOM (Document Object Model). You must understand how a button, form input, and link are represented as tags like button, input, and a — because every locator in episode 4 starts from this structure.
Also understand HTTP as the protocol that carries pages from server to browser: methods like GET and POST, status codes like 200 and 404, and the request and response flow. The browser developer tools, opened with the F12 key, will be your best friend throughout the series.
Selenium is not a programming language — it is a library called from other languages. This series uses Python because its syntax is the most concise for test automation, but the same principles apply to Java, C#, and JavaScript, which we'll touch on in episode 1.
You also need to understand the test automation pyramid: unit tests at the base, integration tests in the middle, and end-to-end (E2E) tests at the top. Selenium lives at the top layer — fewest in number because they're the most expensive, but they hold the greatest value for validating real user flows.
E2E (Selenium) <- few, expensive, valuable
Integration <- medium
Unit test <- many, cheap, fastTo control a browser, you need two things: Selenium WebDriver as the library and a browser driver as the small program that bridges WebDriver and the browser. Browser drivers follow browser naming: ChromeDriver for Chrome, GeckoDriver for Firefox, and Edge WebDriver for Edge.
The good news is that since Selenium Manager was introduced in Selenium 4.6, drivers are downloaded automatically — you no longer need to download and configure PATH manually. We'll cover the details in episode 3.
Prepare VS Code or PyCharm as your editor, Chrome, Firefox, or Edge as your testing target, and Git for version-controlling all your test scripts:
python3 --version
git --versionMake sure the output of python3 --version shows 3.9 or newer and git --version runs normally. Both are the backbone of test development in this series.
Browser automation adds load to your machine because the browser and driver run side by side. Recommended minimum specs:
If your machine is far below these specs, some experiments with many browsers will feel slow. For the short term, Chrome alone is enough.
Start by creating a project directory and a virtual environment:
mkdir belajar-selenium
cd belajar-selenium
python3 -m venv .venv
source .venv/bin/activateOnce activated, the terminal prompt shows (.venv). All subsequent installations run inside this environment.
With the environment active, install the main library:
pip install seleniumThis process pulls in dependencies like urllib3 and trio. Wait for it to finish, then verify the version:
pip show selenium | grep -i versionMake sure Version shows 4.x — Selenium 4 brings the W3C WebDriver standard, relative locators, and Selenium Manager, all of which we'll use throughout this series.
The most convincing verification: open a browser, navigate to a demo page, and read its title:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.selenium.dev/selenium/web/web-form.html")
print(driver.title)
driver.quit()If there are no errors and the page title is printed, your environment is ready. The webdriver.Chrome() command above asks Selenium Manager to download a matching ChromeDriver, and driver.get(...) loads the page — we'll dissect both in episode 3.
Info
Selenium Manager works automatically for the latest versions of Chrome, Firefox, and Edge. Make sure those browsers are installed on your machine, because the driver only launches a browser that already exists.
In this episode 0, you've laid the groundwork for the entire series: understanding web fundamentals and automated testing concepts, preparing tools and minimum hardware, creating a Python environment with venv, installing selenium 4.x, and verifying the automated browser for the first time.
Key takeaways:
In episode 1 next, we'll cover history, background, and why choose Selenium — from the birth of Selenium RC in 2004, the merger with WebDriver, to its comparison with Cypress, Playwright, and Puppeteer. Make sure your environment is ready, because the Learn Selenium journey has just begun!