A partir de la version 47.0 de Firefox (qui est sortie il y a peu), un nouveau pilote doit être utilisé (créé par mozilla au lieu de selenium) pour se connecter à Firefox, à cause d'un bug introduit dans cette version. A partir de la version 48.0 de Firefox, l'ancien pilote sera complètement obsolète et seul Marionette pourra être utilisé, il est donc préférable de changer maintenant. Voir : Marionette Webdriver pour Firefox
Télécharger le conducteur (sous OSX, utilisez simplement brew install geckodriver
), renommez l'exécutable en wires.exe
sous Windows, ou wires
sur les systèmes *nix, et assurez-vous que l'exécutable est présent dans votre chemin système, puis utilisez ce pilote dans votre programme à la place de l'ancien pilote en utilisant ce qui suit :
Lorsque vous utilisez un webdriver local :
Python :
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
driver = webdriver.Firefox(capabilities=firefox_capabilities)
Ruby :
driver = Selenium::WebDriver.for :firefox, marionette: true
Javascript :
var capabilities = Capabilities.firefox();
capabilities.set('marionette', true);
var driver = new webdriver.Builder().withCapabilities(capabilities).build();
Java :
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
Webdriver driver = new FirefoxDriver(capabilities);
C# :
var driver = new FirefoxDriver(new FirefoxOptions());
En utilisant la grille de sélénium :
Lorsque vous utilisez une grille Selenium, le pilote doit être présent dans le chemin d'accès de toutes les machines de votre grille.
Python :
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
driver = webdriver.Firefox(capabilities=firefox_capabilities)
Ruby :
caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true
driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps
Java :
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
// Set Marionette on so the Grid will use this instead of normal FirefoxDriver
capabilities.setCapability("marionette", true);
WebDriver driver = new RemoteWebDriver(capabilities);
C# :
DesiredCapabilities capabilities = DesiredCapabilities.Firefox();
// Set Marionette on so the Grid will use this instead of normal FirefoxDriver
capabilities.SetCapability("marionette", true);
var driver = new RemoteWebDriver(capabilities);