Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
If Selenium’s Chrome headless run has started failing, first identify whether Chrome failed to launch, ChromeDriver cannot find or control the browser, or the browser launched but behaves differently without a visible window. Those are different problems with different fixes. Record the exact exception and your Selenium, Chrome, and ChromeDriver versions before changing flags or reinstalling anything. Selenium’s Chrome documentation says Chrome and ChromeDriver should match at the major-version level.
Start by identifying which part failed
Selenium sends commands to Chrome through ChromeDriver. Headless mode changes how Chrome is launched; it does not remove the need for a working browser binary, a compatible driver, and the operating-system runtime Chrome needs. An error about a missing driver is not the same as Chrome starting and then crashing.
- Capture the exact exception and logs. Save the full stack trace, ChromeDriver output, and any browser startup logs. Note whether the failure happens while creating the WebDriver session, during navigation, or later in the test.
- Record the environment. Write down the Selenium binding and version, Chrome version, ChromeDriver version, operating system and architecture, and whether the run is local, in a container, in CI, or under a service account.
- Compare browser and driver versions. Check the major version numbers first. If Chrome updated but ChromeDriver remained pinned, select a driver compatible with the installed browser or update both as a controlled pair.
- Run a minimal launch. Remove unrelated test code and optional flags, launch one page, and capture the resulting exception and driver logs. This helps distinguish setup failure from application-specific behavior.
Selenium’s Chrome guidance describes Selenium 4 as compatible with Chrome 75 and later by default, but that floor does not replace checking the installed browser and driver pair. The compatibility check that matters for this error is the major-version match.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsFix a Chrome and ChromeDriver version mismatch
An error such as “ChromeDriver only supports Chrome version …” points to a version mismatch, not a headless-only defect. Check the actual Chrome binary Selenium is launching; a machine can have more than one browser installation, especially in a container or custom Linux image. Then make ChromeDriver compatible with that browser’s major version.
#1 Best Overall
- If Chrome updates automatically, avoid leaving a permanently pinned old driver behind. Update the driver alongside Chrome, or deliberately pin both components to compatible versions.
- If a test image intentionally pins Chrome, pin a compatible ChromeDriver in the same image and update the pair together.
- If Selenium Manager is resolving the driver, check its logs and network access before also adding a separate driver-management mechanism.
Do not infer that the browser and driver match merely because both are installed or because the script worked previously. Browser updates can change the installed major version between runs.
Use the supported headless mode for your Chrome binary
Headless is a Chrome launch mode, not a separate Selenium driver. Selenium’s Chrome examples use Chrome options and include --headless=new among commonly used arguments. Chrome’s documentation says that headless and headful modes now share Chrome’s browser code. Starting with Chrome 132.0.6793.0, the old headless implementation is available only as a separate chrome-headless-shell binary.
If a setup assumes that legacy headless is bundled in the regular Chrome binary, check whether it explicitly provisions the standalone shell and whether the application truly depends on its behavior. Otherwise, use the current Chrome headless mode and troubleshoot it as a regular Chrome launch. Do not treat Selenium 4.10.0 as the point at which Chrome headless support disappeared: the Selenium 2023 transition announcement concerned removal of a Selenium convenience method, not removal of Chrome headless itself.
Recommended Free Tools
Minimal Python launch to isolate the problem
This small example uses Selenium’s Chrome options, starts a headless session, visits a page, prints its title, and closes the session. It leaves driver resolution to Selenium when no driver is supplied explicitly. Install Selenium in the same Python environment that runs the script, and make sure that environment can access the browser and any downloads Selenium Manager needs.
Rank #2
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless=new")
# Add --no-sandbox only if it is appropriate for your deployment.
# It is not a universal startup fix or security recommendation.
# options.add_argument("--no-sandbox")
driver = webdriver.Chrome(options=options)
try:
driver.get("https://example.com")
print(driver.title)
finally:
driver.quit()
Keep the initial test small. Add your normal options one at a time after this launch works. In particular, do not add flags copied from an unrelated container recipe without confirming that they address the error you see.
Resolve a missing or undiscoverable driver
“Unable to locate driver executable” or a similar driver-discovery message means Selenium has not found a usable ChromeDriver. It does not establish that Chrome itself crashes. Use one driver-management route:
- Let Selenium Manager resolve it. Selenium Manager is included with Selenium releases and acts as a fallback when a driver has not been supplied explicitly. Its browser and driver discovery may require access to remote endpoints.
- Provide a managed driver explicitly. If your environment pins a particular binary or cannot use Selenium Manager, configure the supported driver path for your Selenium binding and deployment. Verify that the path exists, is executable, and points to a driver compatible with the Chrome binary in use.
Avoid configuring Selenium Manager and a conflicting manually supplied driver at the same time. In containers and CI, check the path inside the running job or container—not just on the host machine.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →When Selenium Manager cannot download or select a driver
Selenium Manager cannot guarantee automatic setup in every environment. Its documented failure cases include network errors querying Chrome for Testing endpoints, restricted proxy, firewall, or DNS access, custom Linux package managers that require a particular browser binary, and unsupported architectures. Linux arm64/aarch64 and some other architectures are documented as unsupported by Selenium Manager. When automatic resolution cannot operate, provide a compatible driver through a controlled, explicit path.
Rank #3
Read the Selenium Manager error closely. A network error suggests checking outbound access, proxy configuration, DNS, or firewall policy. A custom-package message suggests configuring the browser binary expected by that distribution. A missing shared-library message is a system dependency problem, not a driver-version mismatch.
Diagnose Chrome exiting or crashing at startup
If ChromeDriver reports that Chrome exited or crashed immediately, preserve the ChromeDriver logs and use the ChromeDriver startup troubleshooting guidance to investigate. Reproduce the launch outside the full test where possible, using the same account, browser binary, and environment. An interactive local session can succeed while a CI service or container fails because its libraries, permissions, paths, or network access differ.
- Check the browser path and account. Confirm the binary exists and is readable by the process that runs the test. A service account may not have the same environment or permissions as your login.
- Check runtime libraries in Linux images. A missing shared library can prevent Chrome from launching even when ChromeDriver is correct. Selenium Manager documentation gives
libatk-1.0.so.0as an example error and identifieslibatk-bridge2.0-0as the package to install for that described case. Apply that package guidance only when the actual error and distribution match; it is not a general fix for every crash. - Check container and CI differences. Verify the installed libraries, architecture, browser binary, permissions, and availability of downloads in the image or job that fails. Compare those details with the working environment.
- Retain logs while removing variables. Temporarily remove nonessential arguments and test setup, then add required configuration back incrementally.
The Selenium Chrome page shows --no-sandbox as an example option. That does not make it a universal security or stability recommendation. Use it only when the deployment context and failure justify it.
When Chrome launches but the test behaves differently
A successful session followed by a timeout, missing element, or unexpected page is not necessarily a browser-startup failure. Inspect the failure point and logs before changing the driver setup. Headless mode still runs Chrome; it does not guarantee that a site will present the same content or timing as a visible session. Reproduce the specific navigation or interaction with the same browser, driver, options, and environment, then investigate the page or wait condition that actually fails.
Rank #4
Choose driver management and headless binaries deliberately
| Choice | Useful when | Trade-off to check |
|---|---|---|
| Selenium Manager fallback | You have no explicit driver and the environment can resolve and download the required assets. | Network restrictions, custom browser packages, or an unsupported architecture can prevent resolution. |
| Explicit, pinned driver path | You need a controlled binary or automatic resolution is unavailable. | You must keep the chosen driver compatible with the Chrome binary and maintain the path in each runtime. |
| Current Chrome headless mode | You want headless operation with the regular Chrome browser code. | Check that the actual browser binary is present and starts in the target environment. |
Standalone chrome-headless-shell |
You intentionally need the old headless implementation and provision that binary. | From Chrome 132.0.6793.0 onward, the old implementation is separate rather than bundled in regular Chrome. |
| Local interactive execution | You are isolating whether the basic browser and driver pair can launch. | Success locally does not establish that a service, container, or CI image has the same libraries, permissions, paths, or network access. |
Performance, reliability, and maintenance
For repeatable automation, treat the browser, driver, Selenium binding, and operating-system image as one environment. Record their versions in the job output, update compatible browser-driver pairs deliberately, and run a small launch check after changing the image or browser. In a restricted CI network, decide in advance whether the job will resolve drivers dynamically or use a managed binary; the first depends on access to remote endpoints, while the second requires maintaining the binary and path.
Do not add flags as a substitute for logs. A flag can alter security or browser behavior without fixing a missing driver, incompatible version, blocked download, or absent shared library. Preserve the original exception and change one relevant variable at a time.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If the goal is to capture a website image or PDF rather than automate a browser interaction, ScreenshotNeo provides a one-request screenshot API and an MCP server for AI agents. Its capture flow accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses include X-Page-Verdict and X-Billed headers. Its MCP tools include take_screenshot, get_page_info, and capture_pdf.
Free tools Windows power users keep installed
One-click scans. No signup required.
For full Selenium control, continue with the diagnosis above. For a screenshot, a single API call may be simpler. See the ScreenshotNeo API documentation for parameters and response details.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
Python
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://example.com"},
timeout=90,
)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo also supports full-page captures, CSS-element capture, device and viewport settings, retina scale, custom CSS or JavaScript, PDF options, request blocking, cookies and headers, caching, async jobs, bulk capture, and signed image links. Its published plans include 1,000 screenshots a month free with no card; paid plans start at $5 for 3,000. Learn about ScreenshotNeo, or sign up for 1,000 free screenshots a month with no card.
Best Value
Frequently Asked Questions
Does Selenium 4.10.0 mean Chrome headless is no longer supported?
No. The Selenium 2023 announcement discussed removal of a Selenium convenience method. It did not announce removal of Chrome headless support.
Does headless mode remove the need to install Chrome?
No. Headless is a launch mode. Chrome still needs a compatible driver and the runtime dependencies required by the operating system.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Can I assume Selenium Manager will work on Linux ARM?
No. Selenium Manager documents Linux arm64/aarch64 and some other architectures as unsupported; a managed driver path may be needed.
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.

