If you maintain Selenium 3 tests, plan a compatibility audit before moving to Selenium 4. Selenium 4 is the current major line; the Selenium downloads page listed 4.49.0 as stable, released September 9, 2026. Recent Selenium 3 code that follows the W3C WebDriver standard is expected to work, but older JSON Wire Protocol assumptions, capabilities, timeout APIs, browser drivers, and legacy Firefox automation can require changes.
What Selenium 3 users should expect
Selenium is a family of browser-automation tools, not one executable. WebDriver controls browsers through vendor-provided automation interfaces; Selenium IDE records and replays browser interactions; Selenium Grid distributes execution across machines and platforms. Start by identifying which components your suite uses and whether it runs locally, through Grid, or with IDE-generated scripts. Selenium Overview
As an Amazon Associate I earn from qualifying purchases.
The key migration difference is protocol support. Selenium 3 supported both the W3C WebDriver protocol and the older JSON Wire Protocol. Selenium says code compliant with the W3C standard in later Selenium 3 releases should work as expected in Selenium 4; W3C compliance was reached around Selenium 3.11. Selenium 4 removes legacy JSON Wire Protocol support and uses W3C WebDriver. That is an expectation, not a guarantee that every older suite will run unchanged. Selenium 4 upgrade guide
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Audit your suite before changing dependencies
- Record the environment. Note the language binding and Selenium version, package/build manager, browser and driver versions, local or remote execution, Grid configuration, and any vendor-specific capabilities. Selenium’s downloads page lists bindings and server releases; browser compatibility details may be maintained separately by browser vendors.
- Find protocol and capability assumptions. Search for direct use of Desired Capabilities, legacy JSON Wire Protocol behavior, and unprefixed non-standard capabilities. Prefer browser-specific Options classes and W3C capability names. The standard names include
browserName,browserVersion,platformName,acceptInsecureCerts,pageLoadStrategy,proxy,timeouts, andunhandledPromptBehavior. Non-standard capabilities should follow the browser or cloud vendor’s documented prefix or options container. Selenium: Removing Legacy Protocol Support - Review waits and timeout calls. Check explicit and implicit waits, page-load timeouts, script timeouts, and WebDriverWait construction. In Java, the upgrade guide replaces numeric time-plus-
TimeUnitforms withDurationarguments, such asimplicitlyWait(Duration.ofSeconds(10))andnew WebDriverWait(driver, Duration.ofSeconds(3)). These Java signatures are not examples for other bindings. - Inspect Actions and Firefox usage. The upgrade guide flags Actions and capabilities among protocol-related areas that can need adjustment. If your suite depends on Selenium’s old Firefox legacy implementation, move to GeckoDriver for current Firefox automation.
- Check browser and driver support separately. WebDriver relies on browser-vendor automation APIs. ChromeDriver is supported by the Chromium project, while Microsoft Edge WebDriver is implemented and maintained by Microsoft. Microsoft specifically advises users with Selenium 3 tests using Selenium Tools for Microsoft Edge to upgrade those tests to Selenium 4. Microsoft Edge WebDriver guidance
- Check provisioning and infrastructure. Selenium Manager is the default automated browser and driver management tool in Selenium bindings, but enterprise networks and custom environments may still need configuration. Grid is for distributing sessions; it is not required for a local WebDriver test. Selenium describes the local end as triggering tests and the remote end as executing remote sessions. Selenium Manager · Selenium Grid
- Update packages, then test representative cases. Use the supported package route for your language and update dependencies in a controlled branch. Compile or install first, then run a small set covering browser startup, navigation, waits, user actions, downloads/uploads if relevant, and remote sessions if used. The upgrade guide addresses Java, JavaScript, C#, Python, and Ruby, with Maven/Gradle, npm, NuGet, pip, and RubyGems examples. Confirm current runtime minimums and package commands in the current release documentation; examples and requirements can change.
What may change by language
The Selenium upgrade guide covers Java, JavaScript, C#, Python, and Ruby. The actual dependency declaration and APIs differ by binding, so do not copy a Java migration edit into another language. The guide’s retrieved version states Java 8 as a minimum for its Java upgrade section and Python 3.7 or higher for Python; verify present requirements against current release notes and package metadata before upgrading.
#1 Best Overall
Java-specific changes
For Java, migrate wait and timeout calls that used (long time, TimeUnit unit) to Duration-based signatures. Also review capability composition: the upgrade guide notes that options.merge(capabilities) returns a resulting options object, so assign or use the returned object rather than assuming the original is mutated.
Other bindings
For JavaScript, C#, Python, and Ruby, use the upgrade guide’s language-specific examples and your binding’s current API documentation. Keep the package manager and runtime version in the audit: a successful Selenium dependency update does not itself establish that the project’s runtime or browser-driver setup is compatible.
Rank #2
A practical upgrade sequence
- Create a branch and preserve the current dependency lockfile or package manifest.
- Update the Selenium client and, if applicable, Selenium Server using the current official release and language-specific package instructions.
- Replace legacy capability construction with the binding’s browser Options class; normalize standard capability names and vendor-specific extensions.
- Update affected wait/timeout signatures and other API changes identified by compiler errors or the migration guide.
- Run tests against the browser/driver combinations used in production, then test remote Grid sessions independently of local sessions.
- Use failures to isolate the layer involved: client API, protocol/capability, browser, driver, Grid, or environment/provisioning. Avoid changing all layers at once, so regressions remain diagnosable.
Common migration failures and fixes
| Symptom | Likely cause | What to check |
|---|---|---|
| Session creation rejects capabilities | Legacy capability names, JSON Wire assumptions, or unsupported direct Desired Capabilities use | Move to the browser Options class, use standard W3C names, and apply the vendor’s documented prefix/container for extensions. |
| Java does not compile after dependency update | Old timeout or WebDriverWait signatures | Use the applicable Duration-based method signatures and check the current Java migration guide. |
| Browser fails to start or reports a driver mismatch | Browser and driver compatibility or provisioning issue | Check the browser vendor’s compatibility instructions and distinguish the Selenium client version from browser and driver versions. |
| Edge tests based on Selenium 3 tooling stop working | Microsoft’s Edge guidance calls for upgrading Selenium 3 tests to Selenium 4 | Follow Microsoft’s current Edge WebDriver instructions and migrate the tests rather than assuming the Selenium 3 path remains supported. |
| Firefox-specific interactions behave differently | Dependence on old Firefox legacy automation or Actions behavior | Use GeckoDriver for current Firefox and review the Selenium upgrade guide’s Actions and capability notes. |
| Local tests pass but remote sessions fail | Grid endpoint, remote capabilities, or remote browser/driver environment differs | Validate the Grid local/remote configuration and the capabilities accepted by the remote browser environment. |
Performance, reliability, and cost considerations
The official migration guidance does not establish a universal performance gain, reliability percentage, support end date for Selenium 3, or cost saving from upgrading. Treat Selenium 4 migration as compatibility and maintenance work: measure your own suite’s run time and failure rate under the same browser, driver, and infrastructure conditions before attributing a difference to the Selenium version. Selenium itself is available through official downloads and language package dependencies; Grid adds infrastructure only when distributed execution is needed.
For webpage screenshots outside a test suite
If your task is capturing clean webpage images or PDFs rather than automating browser interactions as part of tests, ScreenshotNeo is a screenshot API and MCP server. It is a separate option, not a Selenium migration dependency.
Rank #3
Or skip the browser setup
A single GET request can return a screenshot. See the ScreenshotNeo API documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
- Cookie/consent banners, newsletter popups, and chat widgets are removed before capture; each of those steps can be turned off.
- Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; response headers report the page verdict and billing status.
- An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for AI agents and MCP clients. - The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. All features are on every plan.
Sign up for 1,000 free screenshots a month, with no card.
Rank #4
Frequently Asked Questions
Is Selenium 3 officially unsupported or past a specific end-of-life date?
The cited Selenium material does not give a specific Selenium 3 support cutoff date, so no end-of-life date should be assumed from this guide alone.
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 glitchesDoes Selenium IDE replace WebDriver tests?
No. Selenium IDE records and replays browser interactions, while WebDriver is the browser automation interface used by coded tests.
Quick Recap
Best Value
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.




