What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

When Selenium headless Chrome stops working immediately after a Chrome update, first compare the major version of the Chrome binary with the ChromeDriver Selenium actually launches. A stale driver commonly produces session not created: This version of ChromeDriver only supports Chrome version 113. Update or remove the stale driver override, then investigate startup, headless flags, network access, and Linux dependencies only if the versions already match.

Use the error message to choose the right fix

Symptom First check Then investigate
only supports Chrome version … or session not created Compare Chrome and the selected ChromeDriver major versions. Remove a stale explicit driver and allow Selenium Manager, or update and pin both versions.
ChromeDriver matches, but Chrome will not start Verify the actual Chrome binary and its arguments. Test the binary outside WebDriver; check the user account, installation and runtime libraries.
Selenium Manager reports DNS, TLS or download errors Check firewall and proxy access. Configure an approved proxy, including SE_PROXY, or provide drivers through your controlled build process.
Failure began after changing headless flags Inspect --headless and --headless=new. Use a mode supported by the installed Chrome generation and change one variable at a time.

1. Confirm which browser and driver are actually running

Read the complete exception before changing code. Selenium’s documented example is a browser that moved from major version 113 to 115 while a manually downloaded driver stayed at 113. Chrome and ChromeDriver must match at the major-version level.

Check Chrome’s installed version

Open Chrome and visit chrome://settings/help. On a machine without a graphical session, run the installed Chrome executable with its version option, using the path configured for your operating system. Record the full version, especially the major number.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check ChromeDriver and its path

Run the driver executable selected by your job with its version option, or inspect the path configured in code. A driver found earlier on PATH, a hard-coded executable path, or a third-party manager can silently override the driver you just downloaded.

Enable ChromeDriver logging and look for the Chrome binary path in chromedriver.log. Selenium Manager debug output can also show the detected browser and resolved driver locations. The important question is not “which driver did I install?” but “which executable did this process launch?”

Correct a major-version mismatch

  1. Update the selected ChromeDriver to the browser’s current major version, or remove the explicit driver path so Selenium Manager can resolve it.
  2. Delete or move stale copies that appear first on PATH.
  3. Run the smallest headless test again and save the browser, driver and Selenium versions in the job log.

Do not chase headless flags until this check passes. A flag cannot repair an incompatible driver protocol.

2. Let Selenium Manager manage a local browser

Selenium Manager is Selenium’s official driver manager and has shipped with Selenium releases since 4.6. It is a fallback: it runs when your code has not already supplied a driver. It detects the installed browser, resolves matching vendor metadata, downloads the driver and caches it locally.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Remove the override that prevents the fallback

Review your WebDriver construction for a manually supplied executable, a driver service object, a PATH entry, or another manager. Remove the stale explicit path where your environment permits Selenium Manager to work. Upgrade Selenium to a release containing Selenium Manager if your installation predates 4.6.

When to pin instead

For controlled CI, pairing a pinned Chrome (or Chrome for Testing) with a pinned driver gives reproducible builds. Selenium Manager can manage Chrome for Testing from Selenium 4.11.0, and its browserVersion option can select an available older release. Record both versions and update them together rather than allowing an unattended browser update to surprise a long-lived image.

Cache and metadata problems

Selenium Manager caches metadata with a default one-hour time-to-live. Clear its cache only when logs indicate stale metadata or a corrupted download. Cache deletion is not the first response to an ordinary major-version mismatch.

3. Use a supported headless mode

Driver compatibility and headless mode are separate issues. Chrome’s current documentation uses --headless. Older examples often use --headless=new; whether that is appropriate depends on the Chrome generation and Selenium binding you run.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Google documents that Chrome now has unified headless and headful modes. Since Chrome 132.0.6793.0, the old Headless implementation is available only as a separate chrome-headless-shell binary; regular Chrome uses the unified implementation. Remove obsolete switches copied from old tutorials, set one supported headless option, and test again. Change only one browser argument at a time so a rendering problem does not get confused with a driver mismatch.

4. Diagnose “Chrome doesn’t start or crashes immediately”

Launch the exact binary outside WebDriver

ChromeDriver recommends running the same Chrome binary from a normal user command prompt with the same special arguments used by the test. Confirm that binary path in the driver log. If it fails without Selenium, repair or reinstall Chrome before changing WebDriver code. This separates an operating-system problem from a WebDriver problem.

Check the account and installation

On Linux, running Chrome as root is a common crash cause. Use a regular user. --no-sandbox is an unsupported, highly discouraged workaround; do not make it a routine CI setting, and do not use it merely because a blog example includes it.

If only a background service fails, ChromeDriver notes that an installation for all users often fixes service-account visibility and permissions. Treat that as a targeted service diagnosis, not a universal repair.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check Linux libraries

Chrome for Testing may fail when required system libraries are absent. Selenium documentation gives libatk-1.0.so.0 as an example and names libatk-bridge2.0-0 for its documented apt-based system. Package names differ by distribution: use the missing-library message and your distribution’s package documentation to install the equivalent dependency.

5. Fix Selenium Manager network failures

Selenium Manager must reach vendor metadata and download endpoints. A corporate firewall, DNS policy, TLS inspection or proxy can interrupt that process. If debug output shows connection, DNS or certificate errors, repair the network path instead of changing headless arguments.

  • Permit the required vendor metadata and download hosts under your organization’s policy.
  • Configure the approved proxy; Selenium Manager supports the SE_PROXY environment variable.
  • In isolated CI, preinstall a matched browser-driver pair and disable assumptions that an internet download is available.
  • Retain debug logs showing the detected browser, requested version, URL failure and cache location.

6. A repeatable recovery procedure

  1. Capture the full exception and enable driver or Selenium Manager debug logging.
  2. Record Chrome’s installed version, the ChromeDriver version and the executable paths actually selected.
  3. If major versions differ, remove stale overrides or install a matched pair.
  4. Run a minimal session with one supported headless flag.
  5. If startup still fails, launch the exact Chrome binary outside WebDriver under the same account and arguments.
  6. Check root/service-account use, installation visibility and missing Linux libraries.
  7. If Manager cannot resolve a driver, fix proxy, firewall or DNS access, or pin dependencies in the build.
  8. Only after a minimal session works, restore custom profiles, extensions, parallel workers and application-specific flags one at a time.

Manual management, Selenium Manager or pinned Chrome for Testing?

Approach Best fit Trade-off
Manual driver path Offline or tightly controlled hosts. You own matching, updates and cleanup; stale paths commonly survive browser upgrades.
Selenium Manager Developer machines and connected CI with ordinary installed Chrome. It needs network access when metadata or downloads are not cached, and its fallback is bypassed by explicit drivers.
Pinned Chrome for Testing plus driver Reproducible CI and release testing. You must deliberately refresh the browser-driver pair and maintain the image.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common errors and targeted fixes

“This version of ChromeDriver only supports Chrome version N”

The selected driver is stale or the wrong executable is first on PATH. Compare major versions, remove the override or replace the selected executable, then retry.

Driver matches but the session still cannot start

Inspect the Chrome binary path and arguments in logs. Run that binary directly as the same user. Repair Chrome, correct service-account installation visibility, or install the missing operating-system library identified by the error.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Manager cannot download anything

Look for DNS, proxy, TLS or firewall errors. Configure SE_PROXY where required or use a pinned, preinstalled pair in a network-isolated job.

Only headless mode fails

Remove obsolete flags and test the supported current mode for your Chrome generation. Remember that the old implementation is a separate shell from Chrome 132.0.6793.0 onward.

Or skip the browser setup

If your goal is a reliable image or PDF rather than maintaining Selenium, ScreenshotNeo provides a website screenshot API and MCP server. One request captures a URL as PNG, JPEG, WebP or PDF, with options for full-page lazy images, CSS selectors, device presets, retina scale, waits, custom JavaScript and CSS, cookies, headers, blocking, geolocation, caching, signed links, asynchronous jobs and bulk capture.

Its cleanup flow accepts consent banners and removes more than 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 result. An MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

See the ScreenshotNeo API documentation for parameters. A direct call is:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The Free plan includes 1,000 screenshots each month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

Frequently Asked Questions

Should I download ChromeDriver manually after every Chrome update?

Not necessarily. Let Selenium Manager select a matching driver when your environment allows it, or pin Chrome and ChromeDriver together in CI.

Is --no-sandbox the normal Linux fix?

No. ChromeDriver describes it as unsupported and highly discouraged; run Chrome as a regular user and fix the underlying account or dependency problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why does a driver I updated still appear mismatched?

Another executable may be selected from PATH, an explicit service path, or a different manager. Logs reveal the executable Selenium actually launches.

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.