Search code examples
pythonseleniumgeckodriver

Selenium WebDriverException


I have a WebDriverException using webdriver from selenium

[]# python3.4 file.py
Traceback (most recent call last):
  File "file.py", line 195, in <module>
    browser = webdriver.Firefox()
  File "/usr/lib/python3.4/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
     response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/lib/python3.4/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process

I read that this exception could be caused by version issues between the different modules. But does not seem to be the problem here.

Selnium version: 3.141

Geckodriver version: 0.26

Firfox version: 68.5.0esr

Python: 3.4

Do you have any idea ?

src:

from selenium import webdriver
browser = webdriver.Firefox()
...

Solution

  • If you are running Firefox on a system with no display, make sure you use headless mode.

    from selenium import webdriver
    from selenium.webdriver.firefox.options import Options
    
    options = Options()
    options.headless = True
    driver = webdriver.Firefox(options=options)
    

    Also, make sure you have compatible versions of Firefox, Selenium, and Geckodriver: https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

    This should also help