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.

If Selenium reports that it cannot locate the ChromeDriver executable, first try Selenium 4.6 or later with a plain webdriver.Chrome() call: Selenium Manager can find and download a compatible driver automatically. If you need to manage the driver yourself, put it on the PATH available to the Selenium process or pass its exact executable path through a Service object. A Chrome/ChromeDriver version error is a different problem; fix compatibility rather than changing the path.

Identify which ChromeDriver problem you have

Read the complete exception before changing configuration. A path error usually says Selenium could not locate the ChromeDriver executable or that a driver executable path must be set. That means Selenium did not find a driver through the mechanisms it tried. The Selenium Project’s Unable to Locate Driver Error guide describes this situation.

A message such as “This version of ChromeDriver only supports Chrome version …” usually means the driver was found and launched, but it is incompatible with the installed browser. A session-creation failure after ChromeDriver starts is not automatically a path problem. Keep the whole error text; it determines which branch to follow.

Try Selenium Manager first

For Selenium 4.6 or later, try the standard Chrome setup without specifying a driver location:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
from selenium import webdriver

driver = webdriver.Chrome()
try:
    driver.get("https://example.com")
    print(driver.title)
finally:
    driver.quit()

The Selenium Project says Selenium Manager is shipped with Selenium and is used by the bindings as a fallback when a driver has not been provided. It can discover Chrome, select a corresponding driver, download it, and cache the result. Its Selenium Manager documentation explains the behavior. This is generally the simplest route when Chrome updates and a manually maintained driver could become stale.

If the call fails, determine whether Selenium Manager can run in the environment and retrieve a driver. Network restrictions, browser location, platform support, or process configuration can affect resolution. In managed environments, verify the settings where the Selenium process actually runs rather than assuming your interactive shell and IDE or CI runner share the same environment.

Choose between automatic and manual driver management

Approach Best suited to Trade-off
Selenium Manager Most users on Selenium 4.6 or later who want automatic driver resolution. Requires a supported Selenium setup and an environment in which the manager can operate and retrieve a driver.
PATH or an explicit Service path Older Selenium installations, restricted or offline environments, pinned driver versions, or unusual layouts. You must maintain the right executable, location, permissions, and browser compatibility.

Selenium’s service guidance says users with Selenium 4.6 or later generally should not need to set a driver location, while documenting manual configuration for cases that require it. Manual driver management remains supported; use it when automatic resolution is unavailable or you deliberately control the driver version.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Put ChromeDriver on the process PATH

  1. Get a ChromeDriver build appropriate for the installed Chrome and the operating system from the official ChromeDriver distribution source.
  2. Place the executable in a stable directory. On Windows the executable is typically named chromedriver.exe; on macOS or Linux it is typically chromedriver.
  3. Add the directory containing the executable to the PATH used by the process that starts Selenium. PATH contains directories, not the path to the executable itself.
  4. Start a new shell, or restart the IDE, service, scheduled task, container, or CI runner as needed so the process inherits the updated environment.
  5. From that same environment, run chromedriver --version or, on Windows, chromedriver.exe --version. Confirm that a driver resolves and note its version before retrying Selenium.

Exact PATH-editing steps depend on the operating system, shell, and how the Selenium process is launched. Selenium’s driver-location troubleshooting guide includes examples for common shells and Windows. A PATH change in a terminal does not necessarily reach a graphical IDE, scheduled job, or service. Check the environment at the point where Python or the other Selenium binding starts.

Free tools Windows power users keep installed

One-click scans. No signup required.

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

Set an explicit path with Python Selenium 4

When you want to specify a particular binary, point a Selenium 4 Service object at the executable file:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path="/absolute/path/to/chromedriver")
driver = webdriver.Chrome(service=service)
try:
    driver.get("https://example.com")
    print(driver.title)
finally:
    driver.quit()

Replace the example path with the actual location on your machine. On Windows, use the chromedriver.exe file, for example:

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service(executable_path=r"C:WebDriverchromedriver.exe")
driver = webdriver.Chrome(service=service)
try:
    driver.get("https://example.com")
finally:
    driver.quit()

The path must name ChromeDriver itself, not its containing directory and not the Chrome browser binary. Selenium’s Selenium 4 migration guide replaces the deprecated constructor argument with a Service object passed as service=. The Python Chrome Service API reference documents executable_path; its default is chromedriver.

Verify the file, permissions, and environment

If Selenium still cannot start the driver, check these items in order:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Exact location: Confirm that the file exists at the configured path. Look for typos, wrong drive letters, capitalization differences on case-sensitive systems, and unexpected extraction directories.
  • Correct target: The setting must identify the ChromeDriver executable, not only a folder or the Chrome browser.
  • Platform and architecture: Make sure the downloaded driver matches the operating system and architecture where Selenium runs.
  • Permissions: The account running Selenium must be able to read and execute the file. On macOS or Linux, check that the executable permission is set.
  • Process environment: Verify the PATH and any configured browser or driver paths from the IDE, container, service, or CI job that actually launches the test.

Selenium lists a missing, inaccessible, or non-executable WebDriver binary among possible causes of driver failures in its common errors documentation. Avoid solving a permission or environment issue by pointing Selenium at an unrelated binary.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Fix a Chrome and ChromeDriver version mismatch

If ChromeDriver launches but Chrome session creation fails with a compatibility message, compare the installed browser and driver versions. In Chrome, the Selenium Chrome guide points to chrome://settings/help for checking the browser version. Selenium says the major versions of Chrome and ChromeDriver should match; see its Chrome browser documentation.

With Selenium Manager, driver selection is intended to follow the installed browser. With manual management, download a compatible driver and replace a stale binary. If more than one ChromeDriver is installed, inspect PATH order: an older copy earlier in PATH can be selected even when you downloaded a newer one. A version mismatch calls for choosing the compatible executable, not merely changing the path syntax.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Use the same troubleshooting logic in other Selenium languages

The explicit code above uses Python. Other Selenium bindings have their own Service classes and syntax; do not copy Python’s import or constructor into Java, JavaScript, C#, or Ruby. The underlying choices are the same: allow Selenium Manager to resolve the driver, expose the executable on the process PATH, or configure that language binding’s Service with the executable location. Selenium’s driver service documentation covers the general pattern and examples for other bindings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Or skip the browser setup

If your task is to get a website screenshot rather than automate a browser interaction, a screenshot API can avoid installing ChromeDriver and building a Selenium environment. ScreenshotNeo is a website screenshot API and MCP server for developers: a GET request returns a PNG, JPEG, WebP, or PDF. Its capture options include viewport or full-page shots, CSS-selector element capture, device and viewport settings, wait conditions, custom CSS or JavaScript, and PDF controls. See the ScreenshotNeo site and API documentation.

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

Cookie banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

Troubleshoot common failures

Symptom Likely cause What to do
Selenium says it cannot locate ChromeDriver or requires a driver path. No driver was found through the configured PATH or other resolution mechanism. On Selenium 4.6 or later, try webdriver.Chrome() first. Otherwise set PATH or configure a Python Service with the absolute executable path.
The configured path exists as text but Selenium still fails to launch. It points to a folder or Chrome rather than ChromeDriver, the file is missing, or the process cannot execute it. Check the exact file, platform build, permissions, and the environment of the process running Selenium.
“This version of ChromeDriver only supports Chrome version …” The driver and installed Chrome major versions do not match, or an older driver takes precedence. Use Selenium Manager or install a compatible driver; inspect PATH for duplicate executables.
Works in a terminal but not in an IDE or CI. The other process has a different PATH, user, filesystem, or environment. Set the environment for that runner and verify resolution from inside it; restart it after environment changes.
Selenium Manager cannot resolve or download a driver. The environment may prevent manager execution or access to download endpoints, or the browser/platform configuration may need attention. Check network controls and browser location in that environment. If automatic retrieval is not viable, manage a compatible driver manually.

For unresolved errors after automatic management, retain the full exception and enable logging to see where resolution or startup fails. Selenium’s driver-location guide recommends logging when failures persist.

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

Frequently asked questions

Is executable_path still valid in Python Selenium 4?

Use Service(executable_path=...) and pass the object as webdriver.Chrome(service=service). The old direct constructor argument is deprecated in Selenium 4.

Does a successful chromedriver --version prove Selenium can use it?

No. It proves that command resolves in the shell where you ran it. The IDE, service, or CI process may have a different PATH, user, or file permissions.

Should I set both PATH and an explicit Service path?

Usually choose one resolution method for a given run. If you set an explicit Service executable path, Selenium has a direct location to use; PATH remains useful for shell checks and other processes.

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.

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