Overview of naming conventions
- GeckoDriver is the library you need to download to be able to use Selenium WebDriver with Firefox. These are the Selenium Bindings.
- Marionette is the protocol which Firefox uses to communicate with GeckoDriver. Installed by default with Firefox.
- FirefoxDriver is the former name of GeckoDriver.
Ways to install GeckoDriver:
- The easiest way to install GeckoDriver is to use a package manager like brew or npm such as
npm install geckodriver. This method requires you some package manager installed but you probably should anyways.
- Run Firefox and GeckoDriver in a container using Docker. Simply download the combined container, start it and point your code at the right address. I’ve written about how to do this using Chrome, should be very similar to do Firefox.
- Specify it in your Selenium setup code. If you go this route, you can include ChromeDriver as well.
- Download the driver and add its location to your System PATH. These instructions are for Chrome but should work for GeckoDriver as well.
Once this is done, it should work like nothing has changed. The big advantage is you’ll now be able to use Firefox browsers newer than 46!