Krupa Ghetia
Krupa Ghetia

Reputation: 31

Selenium webdriver unable to create a Firefox instance

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

def set_pref(path):
    profile = webdriver.FirefoxProfile()
    profile.set_preference("browser.download.dir", path)
    profile.set_preference("browser.download.folderList", 2)
    profile.set_preference("browser.helperApps.neverAsk.saveToDisk",
                           "application/csv,application/excel,application/vnd.msexcel,application/vnd.ms-excel,text/anytext,text/comma-separated-values,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/octet-stream")
    profile.set_preference("browser.download.manager.showWhenStarting", False)
    profile.set_preference("browser.helperApps.neverAsk.openFile",
                           "application/csv,application/excel,application/vnd.msexcel,application/vnd.ms-excel,text/anytext,text/comma-separated-values,text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/octet-stream")
    profile.set_preference("browser.helperApps.alwaysAsk.force", False)
    profile.set_preference("browser.download.manager.useWindow", False)
    profile.set_preference("browser.download.manager.focusWhenStarting", False)
    profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
    profile.set_preference("browser.download.manager.showAlertOnComplete", False)
    profile.set_preference("browser.download.manager.closeWhenDone", True)
    profile.set_preference("pdfjs.disabled", True)
    return webdriver.Firefox(firefox_profile=profile)


def main():
    display = Display(visible=1, size=(1050, 800))
    display.start()
    driver = set_pref(path)


if __name__ == "__main__":
    main()

This is my code. I am trying to create a Firefox instance using webdriver. I am getting the following error.

Traceback (most recent call last):
  File "my_script.py", line 226, in <module>
    main()
  File "my_script.py", line 207, in main
    driver = set_pref(path)
  File "my_script.py", line 44, in set_pref
    return webdriver.Firefox(firefox_profile=profile)
  File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/krupa/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: newSession

firefox version 63.0 | selenium version 3.14.1 | geckodriver version 0.18.0

I am not able to run any of my scripts since morning. Not able to figure out what went wrong.

Upvotes: 0

Views: 614

Answers (2)

Gaurav Chandwani
Gaurav Chandwani

Reputation: 86

To always verify geckodriver is compatible with your current firefox & selenium version, do the following:

Keep downloaded geckodriver at System32 if you are on Windows OS & /usr/local/bin if you are on Mac OSX. Download from here

  1. Run the Selenium Standalone server by this command:

java -jar selenium-server-standalone-3.14.0.jar

  1. Open this url in Firefox browser:

http://localhost:4444/wd/hub

  1. Create Session and Select Firefox browser If browser starts then there is no issue with the compatibility of geckodriver with Firefox & Selenium version.

Upvotes: 2

BoboDarph
BoboDarph

Reputation: 2891

According to this compatibility chart https://firefox-source-docs.mozilla.org/testing/geckodriver/geckodriver/Support.html your geckodriver does not support Firefox >62. So the answer might be simple: update your geckodriver.

Upvotes: 2

Related Questions