Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesIf Selenium reports SessionNotCreatedException while starting Chrome, first check that the ChromeDriver version matches the Chrome version and confirm which driver executable Selenium actually selected. Then check whether that executable can run and inspect ChromeDriver’s startup logs and browser options. This is a browser-session startup failure—not, by itself, a failure of the later screenshot command.
What “session not created” means
WebDriver returns this error when it cannot establish a new browser session. The browser may have failed to start, the requested capabilities may not match, or the browser and driver may be incompatible. Selenium also documents inaccessible or non-executable driver files and macOS privacy restrictions as possible causes. The wording alone does not identify which one applies.
As an Amazon Associate I earn from qualifying purchases.
Read the complete exception and startup log. A message such as “This version of ChromeDriver only supports Chrome version 113” points directly to a version mismatch. “Chrome failed to start” confirms a startup failure, but does not establish whether the cause is permissions, configuration, host restrictions, or something else. Selenium’s troubleshooting guide and MDN’s WebDriver error reference describe the distinction.
Work through these checks in order
- Record the failure and environment. Keep the full exception, Selenium binding and version, Chrome version, ChromeDriver version, operating system, and whether the run is local, remote, or containerized. These details help distinguish driver selection from a browser launch or host-configuration problem.
- Compare Chrome and ChromeDriver versions. Check the installed browser version and use a compatible driver. Selenium’s troubleshooting guide gives ChromeDriver v113 with Chrome v115 as an example of an incompatible pair. Do not treat that historical example as a current compatibility recommendation; select versions for your actual installation.
- Verify the driver Selenium is using. A driver supplied explicitly in code or configuration, or found on
PATH, can take precedence over Selenium Manager. Check the startup logs and your project’s driver configuration for the selected executable. If they show a stale manual orPATHdriver, correct or remove that entry rather than assuming Selenium is using another copy. - Check the driver file and operating-system permissions. Confirm that the configured path exists and that the process can access it. On Linux or macOS, check that the driver is executable; Selenium’s troubleshooting guide lists
chmod +x /path/to/driveras a possible correction. On macOS, review Privacy & Security if the system blocks the driver. - Inspect startup configuration if the first checks pass. Review the configured Chrome binary, options and capabilities, profile selection, and runtime restrictions against the actual ChromeDriver log. A startup message alone is not enough evidence to justify adding a generic container flag or changing unrelated options.
- Retry session creation, then test screenshots. Establish that a new browser session starts successfully before investigating capture. If screenshot capture then fails, diagnose that separate command and the active browser window.
Choose how to keep Chrome and ChromeDriver aligned
| Approach | When it fits | Trade-off to manage |
|---|---|---|
| Selenium Manager fallback | When your Selenium binding supports the management behavior you need and you have not supplied a driver explicitly. | An explicit driver or a driver on PATH can affect what gets selected. Check current Selenium documentation for the behavior of your installed release. |
| Manually pinned ChromeDriver | When your project intentionally controls the browser-and-driver pair. | Update the driver when the browser changes, and verify the configured path so a different executable is not selected. |
| Pinned Chrome for Testing browser and driver | When tests need a controlled, non-evergreen browser version. | Availability and setup depend on current releases. Verify the current official setup rather than relying on historical instructions. |
Selenium Manager shipped with Selenium releases starting at 4.6.0. The Selenium project’s July 31, 2023 article about Selenium 4.11.0 describes Chrome for Testing-based browser and ChromeDriver management, including detecting a browser version, resolving and downloading a corresponding driver, and caching it. Those are historical release details, not a guarantee that every current release behaves exactly the same way. Check the documentation for the version in your project: Selenium 4.11.0 release article.
#1 Best Overall
Tell startup failures apart from screenshot failures
session not created and unable to capture screen are separate WebDriver errors. If driver construction fails, there is no working session on which to run the screenshot operation. If the session starts but a later capture command reports unable to capture screen, troubleshoot that command and the current browser window instead of continuing to change ChromeDriver versions. MDN’s error reference lists them separately.
Common symptoms and what to do
- “This version of ChromeDriver only supports Chrome version …” Compare the installed Chrome major version with the driver named in the message, then select a compatible pair.
- “Chrome failed to start.” Treat this as a general startup clue. Check the full ChromeDriver log, browser binary, capabilities, profile, permissions, and execution restrictions before changing options.
- The driver works locally but not on macOS or in a restricted environment. Confirm the executable is accessible and permitted to run; on macOS, review Privacy & Security. Use logs to identify other host restrictions.
- A driver manager is present, but an old driver still runs. Look for an explicitly configured executable or a stale driver on
PATH. Confirm the selected path in logs and correct that source. - The session starts, but the screenshot command fails. Move to screenshot-specific diagnosis: the session-creation error has been resolved, and the later capture error is distinct.
Or skip the browser setup
If the task is simply to obtain a website screenshot, ScreenshotNeo offers a screenshot API and MCP server. Its API returns an image or PDF from one GET request; its browser-session setup is handled by the service.
Quick Recap
Rank #2
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 setup and parameters. Cookie banners are accepted and removed before capture, along with supported newsletter popups and chat widgets. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed; response headers identify the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots. Sign up for ScreenshotNeo’s free plan.
Free tools Windows power users keep installed
One-click scans. No signup required.
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.




