Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →To set up Selenium, install the language binding for your programming language, install a supported browser, then run a small WebDriver script. With Selenium 4.6 or later, most users do not need to download a browser driver separately: Selenium Manager is included and can fetch a compatible driver when needed. A local script does not require Selenium Server or Grid.
What you need to install
- A Selenium language binding: choose the package for Java, Python, JavaScript, Ruby, or .NET/C#. Each language uses its own package or build tool, so there is no single Selenium installer for every system.
- A supported browser: WebDriver connects Selenium to a browser through its browser-specific driver.
- A driver: usually Selenium Manager handles this automatically on current Selenium; manual installation is a fallback.
Use the official Selenium downloads page and the install documentation for your language. The downloads page listed Selenium 4.49.0 as stable, released September 9, 2026, when checked; verify that page for the current release rather than treating that version as permanent. The current Python API documentation specifies Python 3.10 or later.
As an Amazon Associate I earn from qualifying purchases.
Install Selenium for your language
Python
Create and activate a virtual environment, then install the binding. For example, on macOS or Linux:
Recommended Free Tools
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install selenium
On Windows PowerShell, activate it with .venvScriptsActivate.ps1 instead. If PowerShell blocks activation under your policy, use an approved environment setup method or run the environment’s Python directly: .venvScriptspython.exe -m pip install selenium. Selenium’s Python documentation recommends a virtual environment and documents pip install selenium: Install a Selenium library and Python API documentation.
#1 Best Overall
Other languages
Install the Selenium binding using the package or build tool documented for your language. The official downloads page links the Java, JavaScript, Ruby, and .NET/C# bindings as well as Python. Follow the matching language guide rather than trying to install a Python package for another runtime.
Choose and install a browser
Selenium supports browser automation through WebDriver. The Selenium driver guide lists Chrome/Chromium, Firefox, and Edge for Windows, macOS, and Linux; Safari’s driver is built into supported macOS versions, and Internet Explorer is Windows-only. Check the current browser-specific guidance before choosing a browser, especially if you use a less common platform. Opera’s driver is described by Selenium as officially unsupported. See the browser driver guide.
Let Selenium Manager find the driver
For most users, do not separately download Selenium Manager or a driver. Selenium Manager is bundled with Selenium releases from version 4.6 onward, and the language bindings invoke it when a driver has not already been provided. It can identify the browser version, resolve and download a compatible driver, and cache the required assets. Current Selenium Manager documentation also describes browser management for Chrome, Firefox, and Edge. Details and limitations are documented at Selenium Manager.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
The first run may need to contact vendor metadata and download endpoints. A proxy, firewall, offline machine, or restricted network can prevent that. Selenium also documents default-binary platform limitations: its Linux manager binary has been verified for x64, while Linux ARM64/aarch64, 32-bit Linux, and Raspberry Pi may require a custom manager or explicit driver path.
Run your first Selenium script
This Python example opens a harmless page, prints its title, and always closes the browser session, including if navigation or the print step fails:
from selenium import webdriver
browser = webdriver.Chrome()
try:
browser.get("https://example.com")
print(browser.title)
finally:
browser.quit()
Save it as first_selenium.py and run python first_selenium.py in the same activated environment where Selenium was installed. For Firefox or Edge, use webdriver.Firefox() or webdriver.Edge() respectively. On the first run, Selenium Manager may check for metadata and download a missing driver, so startup can depend on network access. A successful run opens the browser, loads the page, prints its title, and exits after closing the session. Selenium’s getting-started example covers driver creation, navigation, and quitting: Organizing and Executing Selenium Code.
Rank #3
When to configure a driver manually
Manual setup is useful when you need explicit driver control, use an older Selenium version, cannot let Selenium Manager download assets, or your platform configuration is not supported by its default binary. It adds ongoing responsibility for matching the driver to the browser and keeping the executable available.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Option 1: Put the driver on PATH
- Download the driver for your browser and operating system from the browser-specific source linked by Selenium’s driver guide.
- Place the executable in a directory included in your system’s
PATH. - Open a new terminal so it reads the updated environment, then run the basic script again.
This lets the binding find the driver without embedding a local file path in your script, but the PATH must be set correctly on each machine.
Option 2: Set a Service path in Python
Download the compatible driver and pass its executable path through the browser’s Service object. For Chrome, for example:
Rank #4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
service = Service(executable_path="/absolute/path/to/chromedriver")
browser = webdriver.Chrome(service=service)
try:
browser.get("https://example.com")
print(browser.title)
finally:
browser.quit()
Replace the example path with the actual location of the downloaded executable; on Windows, use the path to the Windows driver executable. A hard-coded local path is explicit but less portable than PATH-based discovery. Consult Selenium’s current driver installation guidance for browser-specific compatibility and Service details.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot common setup failures
“Unable to locate driver” or driver startup error
- Use a current Selenium binding so Selenium Manager is available, and confirm the browser is installed and can launch.
- If Selenium Manager cannot resolve or download the driver, check proxy and firewall access to the required metadata/download endpoints.
- For a manual setup, verify that the driver executable is on PATH or that the Service path points to the right file, and that the browser and driver versions are compatible.
- Check operating-system permissions and whether the driver executable is runnable on your architecture. If the default Selenium Manager binary is unsupported on your platform, use a compatible custom manager or manual Service path.
Python cannot import Selenium
Install Selenium using the same Python environment that runs the script. If you use a virtual environment, activate it before installation and execution, or invoke that environment’s Python executable directly. Confirm installation with python -m pip show selenium.
The script starts but cannot reach a page
Check that the machine has network access to the test site. If the browser starts but driver setup hangs or errors before the session begins, investigate proxy/firewall restrictions affecting Selenium Manager separately from access to the page itself.
Best Value
Do you need Selenium Server or Grid?
No for a basic local script: a language binding, browser, and WebDriver session are enough. Selenium Server/Grid is for remote WebDriver sessions and distributed execution across machines or browsers. Add it only when your tests need remote browsers or distributed capacity; start with Selenium’s WebDriver documentation and Grid downloads and setup links.
Or skip the browser setup
If your goal is to capture a website image or PDF rather than automate browser interactions, ScreenshotNeo provides a screenshot API and MCP server for developers. A single GET request can return PNG, JPEG, WebP, or PDF. For example, using cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for the full options. It accepts cookie/consent banners and removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response identifies the page verdict and billing status. Its MCP server gives AI agents tools for screenshots, page information, and PDF capture. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.
Sign up for 1,000 free screenshots a month, with no card required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




