Firefox Driver For Selenium Free Download

An Older version of Selenium like Webdriver 2.51 is working fine till Mozilla Firefox version 45. So it was difficult for Automation Engineer to run tests on the latest version of Firefox. Therefore, by considering all these constraints Mozilla introduced an executable proxy web browser engine, named Geckodriver. It addressed all the problems of running test cases with the latest version of Mozilla Firefox.

  1. Firefox Driver For Selenium Free Download Windows 10
  2. Firefox Driver For Selenium Free Download Windows 7

What is GeckoDriver?

Geckodriver is the next generation of FirefoxDriver. It gives HTTP API WebDriver protocol support to communicate with Gecko based browsers. It is mainly a proxy for W3C WebDriver compatible clients which mainly interacts with Gecko browsers.

You can configure Selenium to do web automation, web scrapping, browser tests. Selenium can control modern web browsers. I.e., Firefox, Chrome, Chromium, Opera, Apple Safari. Selenium uses a tool. Selenium IDE Download Selenium is a portable software testing framework for web applications Selenium provides a record/playback tool for authoring tests without learning a test scripting language. When the driver starts, it will make a copy of the profile it is using, rather than using that profile directly.

Selenium project team worked in tandem with Mozilla developers to make Selenium compatible with W3C WebDriver standard. Hence they launched Selenium 3 and continuously working to provide the best compliance in their 3.X.X versions.

GeckoDriver supported by Marionette, which is the protocol of Firefox.

How does GeckoDriver work?

Selenium 3 does not have any native implementation of Firefox browser. Hence, all the driver commands are directed through GeckoDriver. Thus, It works as a proxy between your test cases and Firefox browser.

Selenium 3 removed native implementation of Firefox browser to avoid any kind of driver conflicts. Ultimately, WebDriver API became a light weight.

How to set up GeckoDriver?

It is an executable file which is available to download. So download the file and store it in your system. Then define the path of the .exe file. Firefox implements the WebDriver protocol with this driver.

This executable file creates an environment and starts a server on your system. All your WebDriver tests firstly communicate to this server. It further acts as a proxy between the local system and remote, thus, it sends translated test data using Marionette automation protocol.

How to initialize GeckoDriver in code?

You need to set up system property for this. Here is the code snippet that you need to define initially.

Example:

TIP: Press Shift and right click on Geckodriver.exe file and select “Copy as Path”. Entire path will be copied then replace single slash ‘’ by double slash ‘’.

What error will it throw if I don’t use GeckDriver with latest Firefox and Selenium 3?

Java throws IllegalStateException if you don’t use GeckoDriver with Selenium 3 and Latest Firefox. As said above, Selenium 3 does not have a local implementation to Firefox browser.

Here is the screenshot from console:

How to Set up System property in Java for GeckoDriver?

You need to initialize System.setProperty() method before initializing WebDriver command on FirefoxDriver() instantiation.

Here is the code snippet for basic URL open test case:

Here is the screenshot from console when you successfully implements Marionette in your test case;

Firefox Driver For Selenium Free Download Windows 10

I believe you got clarification to all your questions related to Selenium 3, Latest Firefox, FirefoxDriver() and GeckoDriver (Binary version of Marionette driver). Kindly share your doubts and feedback in the comment below and keep pushing yourself harder because ‘Default is Automation’.

Current Releases

  • If you are using Chrome version 97, please downloadChromeDriver 97.0.4692.36

  • If you are using Chrome version 96, please downloadChromeDriver 96.0.4664.45

  • If you are using Chrome version 95, please downloadChromeDriver 95.0.4638.69

  • For older version of Chrome, please see below for the version of ChromeDriver that supports it.

If you are using Chrome from Dev or Canary channel, please following instructions on the ChromeDriver Canary page.

For more information on selecting the right version of ChromeDriver, please see the Version Selection page.

Supports Chrome version 97

  • Resolved issue 3878: Better handling of fractional element coordinates for element click [Pri-]

For more details, please see the release notes.

Supports Chrome version 97

  • Resolved issue 3878: Better handling of fractional element coordinates for element click [Pri-]

For more details, please see the release notes.

Supports Chrome version 96

  • Resolved issue 3445: Impossible to access elements in iframe inside a shadow root [Pri-3]

For more details, please see the release notes.

Supports Chrome version 96

  • Resolved issue 3445: Impossible to access elements in iframe inside a shadow root [Pri-3]

For more details, please see the release notes.

Supports Chrome version 96

  • Resolved issue 3445: Impossible to access elements in iframe inside a shadow root [Pri-3]

For more details, please see the release notes.

Supports Chrome version 95

  • Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]

  • Added `--allowed-origins` argument

For more details, please see the release notes.

Supports Chrome version 95

  • Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]

  • Added `--allowed-origins` argument

For more details, please see the release notes.

Supports Chrome version 95

  • Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]

  • Added `--allowed-origins` argument

For more details, please see the release notes.

Supports Chrome version 95

  • Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]

  • Added `--allowed-origins` argument

For more details, please see the release notes.

Supports Chrome version 94

For more details, please see the release notes.

Supports Chrome version 94

For more details, please see the release notes.

Supports Chrome version 94

For more details, please see the release notes.

Supports Chrome version 93

For more details, please see the release notes.

Supports Chrome version 93

For more details, please see the release notes.

Supports Chrome version 92

For more details, please see the release notes.

Supports Chrome version 92

    • Resolved issue 3389: Host validation for ChromeDriver requests

For more details, please see the release notes.

Supports Chrome version 91

    • Resolved issue 1205107: Unable to get attribute value for fields on the web application.

For more details, please see the release notes.

Supports Chrome version 91

    • Resolved issue 3744: SendKeys() and Click() silently fail after link navigation

    • Resolved issue 3746: attribute endpoint incorrectly updates values

For more details, please see the release notes.

Supports Chrome version 90

    • Resolved issue 3708: GetElementLocation's inView fails for elements in shadow DOM

    • Resolved issue 3721: Collect performance log for service worker when enabled

    • Resolved issue 3731: AdbImpl::GetPidByName does not work correctly on non-standard Android OS's like on OnePlus

    • Resolved issue 3733: Catastrophic failure with domain on localhost

    • Resolved issue 3734: Driver should Error Attempting to set Cookie on Wrong Domain

    • Resolved issue 3743: Refactor call function and fix remove element issue

For more details, please see the release notes.

Supports Chrome version 89

    • Resolved issue 3667: Timed out receiving a message from renderer

    • Resolved issue 3675: GetElementLocation uses inView method which mishandles boolean as array

    • Resolved issue 3682: GetElementRegion returns incorrect size for elements which are partially out of viewport

    • Resolved issue 3690: ChromeDriver fails if extensions use chrome.windows API

For more details, please see the release notes.

Supports Chrome version 88

    • Resolved issue 3641: Page not getting loaded/rendered when browser window is not in focus with Chrome Beta v87 and chromedriver v(87/86)

For more details, please see the release notes.

Supports Chrome version 88

    • Resolved issue 3611: getText() output in protractor different from <element>.innerText

    • Resolved issue 3625: Improve element screenshot compatibility

    • Resolved issue 3628: Stale Element Reference and wrong URL reported back with URL having another URL as part of its path

    • Resolved issue 3631: Add support for the `webauthn:extension:largeBlob` capability

    • Resolved issue 3635: Chromedriver 86 - chromedriver .quit() doesn't seem to pass unload event properly

    • Resolved issue 3649: Copying selected text to clipboard does not work on Windows 10 when using headless mode

For more details, please see the release notes.

Supports Chrome version 87

  • Resolved issue 3641: Page not getting loaded/rendered when browser window is not in focus with Chrome Beta v87 and chromedriver v(87/86)

  • Resolved issue 3657: Screenshot background browser timed out

For more details, please see the release notes.

Supports Chrome version 87

    • Resolved issue 2421: Delete old port-forwarding channels on android adb-server

    • Resolved issue 3474: Emulated mobile device list needs updating

    • Resolved issue 3507: Implement 'get computed role'

    • Resolved issue 3508: Implement 'get computed label'

    • Resolved issue 3584: Rename ChromeDriver command line option --whitelisted-ips

    • Resolved issue 3588: Bidi WebSocket connection

    • Resolved issue 3594: Navigation completes prematurely if OOPIF loads before main page

    • Resolved issue 3598: A command line option for devtools port to be forwarded to webview_devtools_remote socket

    • Resolved issue 3608: Chromedriver debuggerAddress does not support ipv6

For more details, please see the release notes.

Supports Chrome version 86

    • Resolved issue 3370: Shut down Chrome gracefully or cookie will not be correctly saved to SQLite persistence file

    • Resolved issue 3401: Get Element Location JS does not locate the visible center of the element

    • Resolved issue 3462: For sendKeys, CMD key don't work for MAC

    • Resolved issue 3541: Improve log between Client and ChromeDriver

    • Resolved issue 3559: Output Chrome version when ChromeDriver reports incompatible

For more details, please see the release notes.

Supports Chrome version 85

    • Resolved issue 3578: Chrome 85 no longer allows graceful interaction with windows when an alert dialog is open

For more details, please see the release notes.

Supports Chrome version 85

    • Resolved issue 3577: ChromeDriver 85 does not detect changed Chrome directory (C:Program Files)

For more details, please see the release notes.

Supports Chrome version 85

    • Resolved issue 3214: ChromeDriver78: Sendkeys resets text selection with contenteditable

    • Resolved issue 3376: Remove LaunchApp command from ChromeDriver

    • Resolved issue 3432: Sometimes NavigationTracker fails to detect when the page has finished loading

    • Resolved issue 3481: New Print endpoint according to w3c spec

    • Resolved issue 3488: driver.get doesn't throw error when proxy is wrong configured

    • Resolved issue 3502: Use document.hasFocus() to check if element is focused

    • Resolved issue 3515: selenium.common.exceptions.WebDriverException: Message: unknown error: bad inspector message

For more details, please see the release notes.

Selenium download

ChromeDriver 84.0.4147.30

Supports Chrome version 84

    • Resolved issue 3420: after switching to the print window, the chromedriver stops responding

    • Resolved issue 3421: Driver returns Cyrillic text without styles

    • Resolved issue 3422: GetElementText breaks with prototype 1.6.0.3

    • Resolved issue 3434: Cannot get 'assert' messages from the 'browser' logs

For more details, please see the release notes.

ChromeDriver 83.0.4103.39

Supports Chrome version 83

  • Updated Chromedriver to work correctly with prototype.js.

For more details, please see the release notes.

ChromeDriver 83.0.4103.14

Supports Chrome version 83

  • Resolved issue 1778: Deprecate launchApp from ChromeDriver

  • Resolved issue 2520: InitSession can wait forever when Chrome is unresponsive

    • Resolved issue 3120: Headless mode download from new tab

    • Resolved issue 3234: Confirm semicolon found before substring

    • Resolved issue 3240: ExecuteGetElementRect does not check returned status from GET_SIZE

    • Resolved issue 3331: The get_cookies() method is returning 'expiry' keys of type double, but should be int64 in w3c mode

    • Resolved issue 3332: Retry timeout logged as severe

    • Resolved issue 3339: Chromedriver exited unexpectedly with code null, signal SIGTRAP

    • Resolved issue 3351: Improve Security Considerations message

    • Resolved issue 3352: Support SendKeys for color elements

    • Resolved issue 3353: Wait for Pending Navigation continues after frame context destroyed

    • Resolved issue 3375: Chromedriver v80 hangs on getPageSource on some sites

    • Resolved issue 3383: ChromeDriver 80+ on Windows seems to exit or stall on certain element or click commands

    • Resolved issue 3399: Remove wasThrown check

ChromeDriver 81.0.4044.138

Supports Chrome version 81

  • Updated Chromedriver to work correctly with prototype.js.

For more details, please see the release notes.

ChromeDriver 81.0.4044.69

Supports Chrome version 81

  • Fixed: Chromedriver crashes on getPageSource on some sites.

    • Fixed: ChromeDriver crashes on certain element or click commands.

For more details, please see the release notes.

ChromeDriver 81.0.4044.20

Supports Chrome version 81

  • Fixed error when attempting to get location of html element.

    • Get and Add Cookie commands are now frame specific.

    • Resolved some issues that occur with sites that redefine standard Javascript objects.

    • ChromeDriver will continue to wait for loading to complete after receiving a Target Closed message.

    • Chromedriver now returns spec compliant error code for timeouts

    • Fixed: ChromeDriver Unexpected Slow response time on NewSession Command.

    • User-defined timeouts of over 10 minutes are now supported.

    • Fixed: ChromeDriver unable to connect to DevTools due to IPv4 vs IPv6 mismatch.

    • Restored search order for Chrome binary on Linux.

For more details, please see the release notes.

ChromeDriver 80.0.3987.106

Supports Chrome version 80

    • Restored search order for Chrome binary on Linux

For more details, please see the release notes.

ChromeDriver 80.0.3987.16

Supports Chrome version 80

    • Fixed Load page was aborted when using a proxy.

    • Chromedriver now waits for Current frame to load.

    • ChromeDriver log will include the port used by the driver.

    • Enabled SetGeoLocation for w3c mode.

    • Added missing Alert text for UnexpectedAlertOpen status.

    • Improved message when CRX2 Extension is loaded.

    • Fixed a potential race condition in ExecuteGetPageSource.

    • ChromeDriver will add --ignore-certificate-errors flag when acceptInsecureCerts capability is true

    • Updated the error message and return status for no such execution context

    • Fixed: ChromeDriver may block indefinitely while waiting for pending navigation.

    • Added SameSite attribute to AddCookie and GetCookie.

For more details, please see the release notes.

ChromeDriver 79.0.3945.36

Supports Chrome version 79

Includes the following change over version 79.0.3945.16:

  • Fixed incorrect calculation of element coordinates

For more details, please see the release notes.

ChromeDriver 79.0.3945.16

Supports Chrome version 79

  • Fixed ChromeDriver crash caused by javascript alert fired during command execution

    • Fixed a bug causing Chromedriver to lock when an alert is fired while taking a screenshot

    • Removed --ignore-certificate-errors from Chrome launch command

    • Changed platform and platformName to windows on Win10

    • Fixed undefined window.navigator.webdriver when 'enable-automation' is excluded

  • Fixed WPT test 'test_not_editable_inputs[hidden]'

    • Fixed 'Element is not clickable' when using headless mode

For more details, please see the release notes.

ChromeDriver 78.0.3904.105

Supports Chrome version 78

Includes the following change over version 78.0.3904.70:

  • Fixed incorrect calculation of element coordinates

For more details, please see the release notes.

ChromeDriver 78.0.3904.70

Supports Chrome version 78

Includes the following change over version 78.0.3904.11:

  • Reverted the change to adjust screeshot size on retina display, due to multiple issues reported

For more details, please see the release notes.

ChromeDriver 78.0.3904.11

Supports Chrome version 78

  • Fixed several issues in JavaScript object serialization

    • Fixed a bug in capability matching for Chrome on Android

    • Implemented permissions automation

    • Fixed screenshot size on retina display

  • Fixed page load timeout in some scenarios

    • Improved platformName capability matching

    • Fixed error code returned while moving pointer to drop-down list options

    • Fixed an issue affecting download in headless mode

For more details, please see the release notes.

ChromeDriver 77.0.3865.40

Supports Chrome version 77

Includes the following changes over version 77.0.3865.10:

    • Fixed two bugs in serializing and deserializing JavaScript objects

    • Fixed handling of platformName: android while matching capabilities

For more details, please see the release notes.

ChromeDriver 77.0.3865.10

Supports Chrome version 77

  • Fixed several issues in the implementation of Actions API

    • Improved JavaScript code execution and result handling

    • Fixed a bug that incorrectly rejected POST requests with empty body in OSS mode

  • A more robust navigation tracker

  • Support eager page load strategy

    • Added New Window command from W3C WebDriver spec

  • Support to save file downloads in headless mode

  • Added support for loading CRX3 extensions

For more details, please see the release notes.

ChromeDriver 76.0.3809.126

Supports Chrome version 76

Includes the following changes over version 76.0.3809.68:

    • Fixed two bugs in serializing and deserializing JavaScript objects

For more details, please see the release notes.

ChromeDriver 76.0.3809.68

Supports Chrome version 76

Includes the following changes over version 76.0.3809.25:

    • Fixed a bug in detecting circular reference in JavaScript objects

    • Fixed a bug that causes ChromeDriver to crash when certain types of JavaScript errors occur

  • Fixed a bug that prevents actions API to interact with elements inside shadow DOMs

    • Fixed a bug in keeping track of modifier key state between actions API commands

    • Fixed a bug in keeping track of pointer locations between actions API commands

    • Save 'Cannot call non W3C standard command while in W3C mode' error to log file when it occurs

For more details, please see the release notes.

ChromeDriver 76.0.3809.25

Supports Chrome version 76

Includes the following changes over version 76.0.3809.12:

    • Fixed a bug that incorrectly rejected POST requests with empty body in OSS mode

  • Added new endpoints for retrieving Chrome log

    • Added endpoint for Is Displayed command in W3C mode

For more details, please see the release notes.

ChromeDriver 76.0.3809.12

Supports Chrome version 76

  • Finished implementation of Actions API

    • Improved spec compliance of script timeout handling

    • Improved serialization of results from Execute Script command

    • Fixed issues in scrolling element into view

    • Added handling of Cancel key defined in WebDriver spec

    • Fixed processing of unhandled alert error response

    • Fixed processing of <details> element

    • Updated excludeSwitches option to allow optional leading dashes in switch names

For more details, please see the release notes.

ChromeDriver 75.0.3770.140

Supports Chrome version 75

Includes the following changes over version 75.0.3770.90:

  • Fixed a bug that caused ChromeDriver to crash when some types of JavaScript error occurs

  • Fixed a bug in preserving modifier key state between actions

For more details, please see the release notes.

ChromeDriver 75.0.3770.90

Supports Chrome version 75

Includes the following changes over version 75.0.3770.8:

    • Fixed a bug that incorrectly rejected POST requests with empty body in OSS mode

  • Added new endpoints for retrieving Chrome log

For more details, please see the release notes.

ChromeDriver 75.0.3770.8

Supports Chrome version 75

The most noticeable change is ChromeDriver now runs in W3C standard compliant mode by default. Other changes include:

    • Fixed a bug that caused blur event to be raised twice during element clear

  • Renamed capability loggingPrefs to goog:loggingPrefs, as required by W3C standard

  • Fixed error handling in W3C mode

    • Correct handling of creating cookies without leading dot in the domain name

    • Allows null for script timeout

    • Fixed Element Send Keys command to file input with 'multiple' attribute

    • Fixed Get Active Element command to return 'no such element' error when no active element exists

    • Fixed navigation to malformed URL to return 'invalid argument' error

    • Fixed HTTP status code when invalid session id is received

    • Fixed error response when input parameter is missing or malformed

    • Fixed Execute Script command to handle line-oriented JavaScript comment

For more details, please see the release notes.

ChromeDriver 74.0.3729.6

Supports Chrome version 74

  • Fixed a bug that generated unexpected debug.log file on Windows

  • Fixed mouse clicking and drag / drop inside SVG document

  • Added cache-control header in responses from ChromeDriver

  • Fixed the type of error when click is intercepted by a different element

  • Fixed a bug that caused ChromeDriver to fail on Linux devices without /dev/shm

  • Fixed some types of double click events

  • Fixed Get Sessions command

  • Fixed error checking in Switch To Frame command

  • Fixed Get Page Source command

For more details, please see the release notes.

ChromeDriver 73.0.3683.68

Supports Chrome version 73

  • Fixed a bug that generated unexpected debug.log file on Windows

  • Fixed error code returned from Execute Script command in some scenarios

  • Added cache-control header in responses from ChromeDriver

  • Made the HTTP server keep connection alive by default

  • Fixed Close Window command to correctly handle user prompts

  • Fixed error code returned while sending keys to disabled element

  • Improved spec compliance of timeout value handling

  • Improved spec compliance of Add Cookie command

    • Increased HTTP server listening queue length

  • Fixed Is Element Displayed command in v0 shadow DOM

    • Added warning about Element Clear command behavior change in log file

  • Fixed Execute Script command to correctly convert document.all into JSON format

  • Improved handling of bad element reference

For more details, please see the release notes.

ChromeDriver 2.46

Supports Chrome v71-73

  • Fixed error code returned from Execute Script command in some scenarios

  • Made the HTTP server keep connection alive by default

  • Fixed Close Window command to correctly handle user prompts

  • Fixed error code returned while sending keys to disabled element

  • Improved spec compliance of timeout value handling

  • Improved spec compliance of Add Cookie command

  • Improved spec compliance of Switch to Frame command

  • Increased HTTP server listening queue length

  • Fixed Is Element Displayed command in v0 shadow DOM

  • Fixed Element Double Click command

  • Added warning about Element Clear command behavior change in log file

  • Fixed Execute Script command to correctly convert document.all into JSON format

  • Improved handling of bad element reference

Firefox Driver For Selenium Free Download Windows 7

For more details, please see the release notes.