8

I'm running Selenium 2.x with Firefox 47.0.2 on Windows Server 2008R2 using .Net. I'm running x64 code.

I'm trying to upgrade to Selenium 3.40 + geckdriver 0.18.0 but I can't find a version of Firefox that runs 100%. I'm using x64 en-US versions of Firefox unless otherwise noted. They were downloaded from here.

Here's what I have found:

  • Firefox 51.0.1 - too old - Geckodriver complains "Unable to find a matching set of capabilities"
  • Firefox 52.0.2 - I get an IndexOutOfBoundException when calling setPageLoadTimeout
  • Firefox 52.2.1esr - I get an IndexOutOfBoundException when calling setPageLoadTimeout
  • Firefox 53.0.3 - upon exit, the Firefox window stays up, needs to be closed manually
  • Firefox 54.0.1 (tried both x64 and X86) - crashes upon exit
  • Firefox 55b9 - crashes upon exit

Is there a combination of selenium 3.4.0 + geckodriver + Firefox that works on .Net for you?

sevzas
  • 701
  • 2
  • 5
  • 13

4 Answers4

7

This Question have been surfacing out quite often for sometime now since we migrated from the legacy Firefox releases to Marionette based Mozilla Firefox releases (beginning with Firefox 48).

In general, each GeckoDriver release supports each version of Mozilla Firefox releases (beginning with Firefox 48) where the property marionette needs to be set to true (either by default or by configuring through an instance of DesiredCapabilities() Class and passing it as an argument while initializing the Web Browser)

If you are working with the legacy Firefox releases (till Firefox 47.x) GeckoDriver still works but you have to explicitly set the property marionette to false.

Recently, some dependency were announced between GeckoDriver, Selenium and Mozilla Releases. The GeckoDriver release notes clearly states all the major/minor New Feature Addition, Enhancements, Bug Fixes and Download Location separately in this link.


Selenium Dependencies:

Selenium 3.4.0 now recommends Geckodriver v0.16.0 strongly.

Selenium 3.3.1 better supports Geckodriver v0.15.0.


GeckoDriver Dependencies:

geckodriver v0.18.0 now recommends Firefox 53 and greater

geckodriver v0.16.0 is only compatible with Selenium 3.4 and greater.


Answer:

Selenium 3.5.0 + GeckoDriver 0.18.0 + Firefox 55.0.2 combo works best at my end.


Last updated on : 22Aug2017


GeckoDriver, Selenium and Firefox Browser compatibility chart

geckodriver_versions

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
  • It doesn't fully answer the question (although I appreciate the quick response). So will a combination of Selenium 3.4.0 + Geckodriver 0.16.0 + some version of Firefox work? Is there a combination that's working for you? I'd like to use a fairly modern version of Firefox. – sevzas Aug 04 '17 at 15:34
  • @DebanjanB - using your configuration, calling RemoteWebDriver.Dispose() b itself leaves the browser window up, but calling RemoteWebDriver.Close() before Dispose() causes it to crash (faulting module xul.dll). These are the same results as Firefox 53.0.3. I might try an older geckodriver and post results if something works. – sevzas Aug 04 '17 at 16:21
  • 1
    Is there a newer version combo that works smoothly together? With `geckodriver 0.21`? – Alireza Jul 23 '18 at 09:41
  • 1
    _GeckoDriver 0.20.1, selenium 3.5.0, Firefox 62.0.3, python 2_ => `[ Firefox ] failed: WebDriverException: Message: Unable to find a matching set of capabilities`, i got error result, any suggestion ? – Budi Mulyo Dec 21 '18 at 08:02
1

I found that using Selenium 3.40.0 + geckodriver 0.16.1 with either Firefox 53.0.3 or 54.0.1 worked for me. I did not try any older versions of Firefox or geckodriver. Furthermore, geckodriver 0.17.0 exhibited the same behavior as 0.18.0 - crashing Firefox on RemoteWebDriver.Close() .

sevzas
  • 701
  • 2
  • 5
  • 13
1

Found a workaround for the WebDriver close + Firefox crash problem. Do this:

firefoxOptions.addPreference("browser.tabs.remote.autostart", false); firefoxOptions.addPreference("browser.tabs.remote.autostart.1", false); firefoxOptions.addPreference("browser.tabs.remote.autostart.2", false);

Using

  • GeckoDriver 0.18.0
  • Selenium-Java 3.5.1
  • Firefox 55.0.3

Sources:

Stackoverflow and Github

1

FireFox version : 60.0.2 works well with the combination of Gecko driver version : 0.18.0 Selenium version : 3.4.0