For a routine local Selenium session, install the current Selenium binding and the browser you want to automate; current bindings invoke Selenium Manager by default to find and manage the matching driver. You usually do not need to download ChromeDriver separately. When setup fails, inspect Selenium Manager’s local diagnostics, browser discovery, cache and network access before adding a manual driver path. Selenium Manager is a local command-line utility, not a hosted service with an uptime status page.
What Selenium Manager does—and what “status” means
WebDriver sends automation commands through a browser-specific driver, which communicates with the browser. Selenium Manager automates discovery, resolution, download and caching of drivers for Selenium. The Selenium project describes it as “a command-line tool implemented in Rust that provides automated driver and browser management for Selenium” (Selenium Manager documentation).
As an Amazon Associate I earn from qualifying purchases.
For ordinary use, Selenium bindings invoke Manager automatically when creating a driver. Selenium’s project guide describes driver management from Selenium 4.6 and browser downloads when needed from Selenium 4.11; exact behavior can depend on the installed binding and Manager release. Check the current documentation for your language and version rather than assuming every release behaves identically (Selenium Manager; Selenium documentation).
There is no remote Selenium Manager service whose live health status decides whether your session starts. “Status” means the local state of discovery and resolution: which browser Manager found, whether a compatible driver was found in the cache or needs downloading, and whether the environment permits that work.
#1 Best Overall
Set up a standard local WebDriver session
- Install the Selenium binding for your language using its current official installation guidance.
- Install the target browser on the machine where the test will run.
- Create a driver with the binding’s ordinary constructor. For example, with the current Python Selenium API:
from selenium import webdriver driver = webdriver.Chrome() try: driver.get("https://example.com") print(driver.title) finally: driver.quit() - Run the script. On initial resolution, Manager may need network access to retrieve metadata or a driver. On subsequent runs, it can use cached assets when applicable.
Remove the accidental leading space before driver if copying the sample literally: the executable version is:
from selenium import webdriver
driver = webdriver.Chrome()
try:
driver.get("https://example.com")
print(driver.title)
finally:
driver.quit()
Use the equivalent normal WebDriver constructor or builder in other bindings. Avoid old tutorials that rely on legacy executable_path arguments or add a third-party driver-manager library as the default setup. Selenium’s current guidance points users to binding APIs and project examples (Selenium documentation).
Inspect Selenium Manager locally
To understand what the binding’s automatic setup is doing, run the Manager executable bundled with your Selenium installation, selecting the browser and enabling debug output. For example, where the executable is available on your command line:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #2
selenium-manager --browser chrome --debug
The exact executable location and supported flags can vary by package and release. Consult the Manager documentation for the installed version rather than assuming the command above is available on PATH (Selenium Manager documentation).
Read the output for these signals:
- Whether the browser was detected and which version or binary path was identified.
- Whether a driver was found on PATH or in the Selenium cache.
- Whether Manager is resolving a compatible version or attempting a download.
- Which browser and driver paths it ultimately selected.
- Whether metadata access, downloads or a proxy connection failed.
These details distinguish a missing browser from a cache miss, a network restriction or a driver-path problem. They are more useful than treating “Unable to locate driver” as proof that a specific driver file must always be downloaded manually.
Configure Manager and understand precedence
Selenium Manager configuration can be supplied through command-line options, a se-config.toml file in the Selenium cache, and SE_ environment variables. The documented precedence is command-line options first, then the configuration file, then environment variables. A higher-priority value can therefore override an environment variable that appears to be ignored.
Rank #3
The documented default cache path is ~/.cache/selenium. The Manager guide also documents controls such as offline mode, proxy configuration, and debug or trace output. Exact option names and availability are release-sensitive; consult the current guide for your installed version before changing configuration (Selenium Manager configuration guide).
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Choose automatic management or a manual driver
| Approach | Best fit | Trade-off |
|---|---|---|
| Selenium Manager | Routine local development and environments where automatic resolution is acceptable. | Reduces setup and maintenance work and caches compatible assets, but initial resolution may require access to metadata and download endpoints. Behavior depends on Selenium/Manager version and configuration. |
| Manual PATH or Service path | Controlled, offline or pinned environments where the operator needs explicit binary control. | You obtain and maintain a compatible vendor driver yourself and manage PATH or machine-specific executable paths. |
Prefer the default Manager route unless your environment deliberately prohibits automatic downloads, requires pinned binaries, or cannot use the required network endpoints. Selenium documents the manual fallback: place the downloaded driver on PATH or provide its path through the language binding’s local Service object (Selenium troubleshooting guidance).
Manual fallback in Python
Download the driver for the browser and environment from its vendor, then configure a local Service object. The path below is an example of the kind of explicit path required; replace it with the actual location and filename on the machine running the test.
Rank #4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
service = Service(executable_path="/path/to/chromedriver")
driver = webdriver.Chrome(service=service)
try:
driver.get("https://example.com")
print(driver.title)
finally:
driver.quit()
Putting the executable on PATH avoids embedding a machine-specific location in code, but depends on each developer or CI environment setting PATH correctly. An explicit Service path makes binary selection clear but often needs environment-specific configuration.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot common setup and runtime failures
“Unable to locate driver” or executable not found
- Check the installed Selenium binding version and update to a current release if appropriate.
- Enable Manager diagnostics and confirm that the binding is invoking it, that the target browser is discoverable, and that the expected cache or PATH is being checked.
- Look for blocked metadata or download requests and proxy restrictions.
- If automatic resolution is unsuitable, use the documented manual PATH or Service-object route.
Manager cannot reach metadata or download a driver
Check outbound network policy and proxy configuration. Then inspect whether a usable cached driver/browser entry exists and whether offline configuration is intentional. A cold cache combined with restricted network access can prevent automatic acquisition; a manually provisioned compatible driver may be appropriate in a deliberately offline environment.
An environment variable seems to have no effect
Check for the same setting in command-line arguments or se-config.toml. Those sources have higher precedence than SE_ variables, so resolve conflicts in that order.
Best Value
A session starts, but commands fail or tests are flaky
Not every Selenium error is a setup error. Synchronization problems and underlying browser-driver faults can appear after the session has started. Use the actual exception and logs, and try the same command with another browser: if it fails only with one browser, that comparison can help isolate a browser- or driver-specific problem (Selenium troubleshooting).
An old guide says to install another driver manager or hardcode a legacy argument
Check the current API for your binding and Selenium version before adding a dependency or copying an older constructor. Selenium Manager is the default management mechanism in current bindings; outdated examples can describe APIs or setup steps that no longer match the recommended path.
Or skip the browser setup
If your goal is to capture a web page rather than automate browser interactions, ScreenshotNeo is a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP or PDF; its cookie/consent handling can accept banners and remove 60+ known consent platforms, newsletter popups and chat widgets before capture. Each step can be disabled. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status.
For example, with cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for 1,000 free screenshots a month—no card required.
Frequently Asked Questions
Is Selenium Manager a hosted service I need to check for an outage?
No. It is a local command-line utility invoked by Selenium bindings; diagnose the local browser, driver, cache, configuration and network state.
Do I need to install ChromeDriver separately for a normal Selenium session?
Usually not with a current Selenium binding and a locally installed target browser; its default Selenium Manager path handles driver resolution.
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.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitches




