selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities with Firefox 46 through Selenium

As you are using Selenium 3.8.0 you have to use GeckoDriver as a mandatory. But again as you are using Firefox v46.0 you have to set the capability marionette as False through DesiredCapabilities() as follows :

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

cap = DesiredCapabilities().FIREFOX
cap["marionette"] = False
browser = webdriver.Firefox(capabilities=cap, executable_path="C:\\path\\to\\geckodriver.exe")
browser.get('http://google.com/')
browser.quit()

If you're going to use Geckodriver, you definitely need to use a newer version of Firefox. Frex: https://github.com/mozilla/geckodriver/releases/tag/v0.19.0 lists FF55 or greater.

If you plan on using FF46, don't use geckodriver. Update your capabilities to have marionette set to False:

caps = DesiredCapabilities.FIREFOX.copy()
caps['marionette'] = False
driver=webdriver.Firefox(capabilities=caps)

I had this issue on my MacOS 10.5 Catalina. What I did: 1. Installed the geckodriver using brew install geckodriver 2. Deleted/uninstalled my existing(OLD) Firefox browser (v.46) and installed v70. 3. tried:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://google.com')

The above worked fine with no errors, by launching Firefox and loading google.com