I don't fully understand the difference between geckodriver and marionette.
For example, when I use Selenium WebDriver to control a Firefox browser, I need a geckodriver binary to listen the WebDriver protocol from Selenium.
GeckoDriver is a web browser engine which is used in many applications developed by Mozilla Foundation and the Mozilla Corporation. GeckoDriver is the link between your tests in Selenium and the Firefox browser. GeckoDriver is a proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers.
marionette.Defines the port on which the Marionette server will listen. Defaults to port 2828. This can be set to 0 to have the system atomically allocate a free port, which can be useful when running multiple Marionette servers on the same system.
Download the webdriver by clicking on the link 5. Right click on the downloaded file and unzip the file. Copy and paste the file to somewhere in your python directory. e.g. If I installed Python in C:\Python\Python37 I would paste the file in there so gecko would be located in C:\Python\Python37\geckodriver-v0.
Marionette is an automation driver for Mozilla's Gecko engine. It can remotely control either the UI or the internal JavaScript of a Gecko platform, such as Firefox.
Selenium uses W3C Webdriver protocol to send requests to Geckodriver, which translates them and uses Marionette protocol to send them to Firefox
Selenium<--(W3C Webdriver)-->Geckodriver<---(Marionette)--->Firefox
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With