Selenium crashing with selenium.common.exceptions.WebDriverException: Message: newSession

13,379

Solution 1

I fixed the issue by updating the selenium python package and using the latest geckodriver.

Thanks @fzbd for all your help.

Additional context -

Refer to the compatibility chart here - https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html#supported-platforms

update selenium :

 pip install -U selenium

update geckodriver (choose the correct version for your needs based on the above compatibility chart)

Check the versions for all components -

firefox -v
geckodriver -V
pip freeze | grep selenium

Solution 2

Thanks @skyfail. Your answer helped me. The following sequence was performed and resolved the issue.

  1. To upgrade selenium run: sudo pip3 install selenium --upgrade

  2. To upgrade geckodriver follow steps 1-3 from this

  3. sudo mv geckodriver /usr/local/bin/geckodriver , /usr/local/bin is usually in your PATH so no need to edit it.
Share:
13,379
skyfail
Author by

skyfail

Updated on June 05, 2022

Comments

  • skyfail
    skyfail almost 2 years

    OS: Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1066-aws x86_64)

    Selenium Version: selenium==3.6.0

    Browser: Mozilla Firefox 63.0

    Geckodriver version : geckodriver-v0.19.0-linux64

    Expected Behavior -

    Create a new firefox browser and do some steps - parsing the website.

    Actual Behavior -

    Crashing with a log :-

        self.driver = webdriver.Firefox()
      File "/home/ubuntu/env/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 154, in __init__
        keep_alive=True)
      File "/home/ubuntu/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 151, in __init__
        self.start_session(desired_capabilities, browser_profile)
      File "/home/ubuntu/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 240, in start_session
        response = self.execute(Command.NEW_SESSION, parameters)
      File "/home/ubuntu/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute
        self.error_handler.check_response(response)
      File "/home/ubuntu/env/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.WebDriverException: Message: newSession
    

    Has anyone faced this issue before and has a possible solution ?

    UPDATE : Ran the following command : geckodriver --log trace & curl -d '{}' 127.0.0.1:4444/session

    Log :- https://pastebin.com/TirTNKrG

  • skyfail
    skyfail over 5 years
    netstat -tulpn | grep -i 4444 gives me the same output that you're getting.
  • fzbd
    fzbd over 5 years
    Just to rule out other instances of the driver, can you run a killall geckodriver; killall firefox and try binding to a different port? If you still hit an unavailable address, strace should output -1 EADDRINUSE (Address already in use)
  • fzbd
    fzbd over 5 years
    I also edited the answer with a possible version incompatibility.
  • Viragos
    Viragos almost 5 years
    I had to also install the latest version of firefox
  • Alexey Khachatryan
    Alexey Khachatryan almost 4 years
    Why should I sudo?
  • DovaX
    DovaX about 2 years
    I had multiple geckodrivers in my PATH environment, it helped me to delete the old ones