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.

If Selenium opens the wrong browser, first separate the browser family your code requests from the browser executable and version Selenium actually launches. Check the session’s browser selection, the options attached to it, the resolved browser and driver paths, and their versions—in that order. Selenium Manager can locate drivers automatically, but an explicit driver path, PATH entry, framework setting, or different browser binary may change what runs.

Why is Selenium opening the wrong browser?

“Wrong browser” can describe three different problems, and they need different fixes:

  • Wrong browser family: the session starts Firefox when you expected Chrome, or Edge instead of Firefox. Check the constructor, builder, test framework, and any configuration overrides that choose the browser.
  • Wrong installation or channel: Selenium starts Chrome, but it is a different Chrome binary or channel from the one you intended. Check the actual browser path and version, then explicitly set the desired binary.
  • Unexpected version or profile: the family is right, but the version, channel, or session settings differ. Confirm the browser executable and version rather than relying on the visible browser name alone.

A browser/driver version mismatch can also prevent the session from starting at all. A “session not created” error is not necessarily evidence that Selenium selected the wrong browser family; inspect the driver and browser versions and paths first.

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

How do I diagnose the browser Selenium actually starts?

Use this sequence before changing installations or deleting caches. It helps distinguish a wrong browser selection from a wrong executable, an unintended driver override, or a compatibility failure.

  1. Confirm the requested browser. Find the browser constructor, builder setting, or framework configuration that creates the session. Check environment overrides and remote WebDriver or grid capabilities too.
  2. Confirm the options belong to that browser. A browser-specific binary path or other option has no effect if the session is built for a different browser.
  3. Record the actual browser path and version. Look at Selenium Manager’s debug output or the browser process/session details. Compare the executable actually used with the intended installation.
  4. Record the driver path and source. Determine whether the driver was set explicitly, found through PATH, or selected by Selenium Manager as a fallback.
  5. Compare versions and configuration layers. Check the browser version, driver version, Selenium version, binding, framework, environment settings, and any remote-session capabilities.

Selenium Manager’s current documentation describes controls for browser and driver versions and paths, as well as debug and trace output. Its documented defaults include a cache under ~/.cache/selenium and a 3600-second TTL for manager metadata/configuration; custom setups and later releases may differ. See Selenium Manager documentation for current controls and defaults.

Check the browser selected by your code

Start with the code or framework setting that chooses the browser family. Do not infer that choice from the browser installed on the machine. Selenium Manager’s documented browser names include Chrome, Firefox, Edge, Safari, Internet Explorer, Safari Technology Preview, and WebView2; availability and behavior depend on the Selenium binding, operating system, and configuration.

JavaScript: attach options to the browser you build

In Selenium’s JavaScript API, Builder.forBrowser(...) selects the browser. The API reference states that options for browsers not selected by the builder are dropped when build() runs. This behavior is specific to the documented JavaScript API; check the API for your own language binding and Selenium release rather than assuming every binding handles options identically.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

const options = new chrome.Options();
// Add Chrome-specific configuration to this options object.

const driver = await new Builder()
  .forBrowser('chrome')
  .setChromeOptions(options)
  .build();

If your code creates Chrome options but the builder selects Firefox, those Chrome options will not make the resulting session use Chrome. Likewise, inspect framework wrappers to make sure they do not construct a separate session with another browser selection.

For bindings other than JavaScript, use that binding’s official API documentation for the correct options class, binary-path method, and session-builder behavior. Selenium’s JavaScript API reference documents the Builder behavior above.

How do I make Selenium use a specific Chrome, Firefox, or Edge binary?

If the requested family is correct but Selenium starts the wrong installation or channel, set the intended browser executable explicitly using the option supported by your binding. Use an absolute path appropriate to the operating system, and verify that the file exists and is runnable by the process executing the test.

  • Chrome: ChromeDriver supports selecting a custom Chrome binary through Chrome options. See the vendor’s ChromeDriver capabilities documentation and use the binary-path API provided by your language binding.
  • Firefox and Edge: use the Firefox or Edge options supported by your binding to specify the intended executable. Confirm the exact method and path format in that binding’s API documentation.
  • Selenium Manager: its configuration supports browser path settings, including SE_BROWSER_PATH / browser-path and browser-specific variants such as SE_CHROME_PATH. Check the current documentation for the setting names and how they apply to your Selenium release and binding.

Do not assume that setting a browser path also selects a matching driver already on the machine. Browser path selection and driver resolution are separate checks.

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.

Is Selenium using the driver in PATH or Selenium Manager’s cached driver?

Selenium Manager is Selenium’s official driver manager and has shipped with Selenium releases since 4.6. It acts as a fallback when a driver has not already been provided. Manual driver management is still possible, so a driver configured explicitly in code or through a system property, or found through a manual PATH setup, may affect which driver runs instead.

Use Selenium Manager’s debug output to establish which browser and driver paths were resolved. Its documentation includes examples of driver discovery and browser detection. Selenium’s driver installation troubleshooting guide also covers executable-location problems.

  • If the wrong driver is selected, correct or remove the unintended explicit path or PATH entry.
  • If the environment requires a fixed driver, pin it deliberately and verify it is compatible with the intended browser.
  • Do not delete the Selenium Manager cache as a first step. Identify the executable Selenium selected before changing cached files or installations.

Why is Selenium using a different Chrome version?

First establish whether the browser path points to a different installation or channel than expected. Then compare the browser version with the driver version and inspect which driver executable Selenium actually selected. Selenium Manager can detect browser versions and resolve corresponding drivers; its configuration also supports browser-version and driver-version controls. Availability and exact behavior depend on the Selenium release and setup.

The Manager documentation gives “This version of ChromeDriver only supports Chrome version 113” as an example of a compatibility failure. That is a historical illustrative error, not current Chrome version guidance. A mismatch may cause session creation to fail rather than opening a visibly different browser.

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

Check the Selenium version too. Selenium Manager’s built-in behavior is available in Selenium releases from 4.6 onward; an older installation may not provide that fallback. Selenium’s 2023 article on Selenium Manager in Selenium 4.11.0 explains version detection and resolution at that release, but should not be treated as current version advice.

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

Check framework, environment, and remote-session overrides

If the direct browser constructor and binary path look right, inspect the configuration layers around them: test-runner settings, environment variables, wrapper libraries, and remote WebDriver or grid capabilities. These can supply their own browser, path, or version choices. Third-party frameworks do not all apply settings in the same order, so verify the precedence rules for the framework and version you use.

A useful diagnostic is a minimal local WebDriver session using the same language binding, with browser family and binary path set explicitly. Compare its resolved browser and driver paths with the full test setup. If they differ, that narrows the search to configuration or environment layers; it does not, by itself, prove a specific framework defect.

Troubleshooting common symptoms

Symptom What to check Next action
Firefox opens when Chrome was expected Browser constructor or builder, test-runner selection, environment and remote-session capabilities Correct the selected browser, then attach the matching browser options to that session builder.
Chrome opens, but it is the wrong installation or channel Resolved browser executable path and browser version Set the intended absolute binary path using the binding’s Chrome options or supported Selenium Manager browser-path setting.
Session creation fails with a driver compatibility message Browser version, driver version, driver path, browser path, Selenium version Correct the unintended path or deliberately select compatible browser and driver versions.
Local minimal session works; full test setup does not Framework configuration, wrapper libraries, environment overrides, grid or remote capabilities Compare effective settings and resolved paths layer by layer; check framework-specific precedence.
Driver-location error appears Explicit driver setting, PATH entry, driver executable permissions, Selenium Manager availability Fix the intended driver location or remove the accidental override, then use debug output to verify what Selenium resolves.

Or skip the browser setup

If your goal is to capture website screenshots rather than test browser interactions, ScreenshotNeo provides a website screenshot API and MCP server for developers. It can return a PNG, JPEG, WebP, or PDF from one GET request; it is not a Selenium replacement for interactive browser testing.

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

One-call cURL example:

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 parameters. Cookie/consent banners, newsletter popups, and chat widgets are removed before capture; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. An MCP server lets AI agents using Claude, Cursor, or another MCP client take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.

Sign up free for ScreenshotNeo to try 1,000 screenshots a month with no card.

Frequently Asked Questions

Does Selenium Manager replace ChromeDriver or GeckoDriver?

No. Selenium Manager helps locate and manage drivers as a fallback when one has not already been provided; Selenium still uses a browser driver to create the WebDriver session.

Can I use Selenium to capture a page without automating interactions?

Yes, but for screenshot-only capture an API such as ScreenshotNeo may avoid setting up a local Selenium browser and driver. Selenium remains appropriate when the task requires browser interaction or WebDriver testing.

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

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.