Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WebDriverException: Message: invalid argument: can't kill an exited process with GeckoDriver, Selenium and Python on RaspberryPi3

Server: Raspberry Pi 3
OS: Dietpi - version 159
Geckodriver version: 0.22 for arm
Firefox version: 52.9.0
Python version: 3.5
Selenium version: 3.14.1

Gecko is executable, and is located in /usr/local/bin/

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.firefox.options import Options import time    options = Options() options.set_headless(headless=True) driver = webdriver.Firefox(firefox_options=options)  print('Need your login credential') username = input('What is your username?:\n') password = input('What is your password?:\n') ... ... 

Output:

root@RPi3:~# python3.5 ITE-bot.py  Traceback (most recent call last):   File "ITE-bot.py", line 12, in <module>     driver = webdriver.Firefox(firefox_options=options)   File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__     keep_alive=True)   File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__     self.start_session(capabilities, browser_profile)   File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session     response = self.execute(Command.NEW_SESSION, parameters)   File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute     self.error_handler.check_response(response)   File "/usr/local/lib/python3.5/dist-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 

Any idea what is wrong? I've tried google without luck.

like image 754
Chokoladekiks Avatar asked Sep 27 '18 10:09

Chokoladekiks


1 Answers

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

like image 139
NFern Avatar answered Oct 05 '22 14:10

NFern