WebDriverException: Message: Process unexpectedly closed with status signal | How to run Selenium Firefox Geckodriver in Google Colaboratory?

Hey stackexchange community, I would like to run selenium for python, with firefox geckodriver in google recolab. I've found a post regarding this topic recently in which there's an answer by @DebanjanB from a while ago: . Sadly the provided solution, no longer works and I couldn't figure out how to fix it.

this is the code from the stackoverflow answer, that's supposed to download and run geckodriver;

# install firefox, geckodriver, and selenium
!apt-get update
!pip install selenium
!apt install firefox-geckodriver
!cp /usr/lib/geckodriver /usr/bin
!cp /usr/lib/firefox /usr/bin
from selenium import webdriver
binary = '/usr/bin/firefox'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument('start-maximized')
options.add_argument('--headless')
browser = webdriver.Firefox(firefox_options=options, executable_path='/usr/bin/geckodriver')
browser.get(')

!cp /usr/lib/geckodriver /usr/bin results in error, there's no such file, the geckodriver is stored in /usr/bin/geckodriver. !cp /usr/lib/firefox /usr/bin doesn't work too, /usr/lib/firefox is a directory, not a file. Overall, the code fails with the exception: Process unexpectedly closed with status signal

here's the full error output:

/usr/local/lib/python3.6/dist-packages/selenium/webdriver/firefox/webdriver.py in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy, executable_path, options, service_log_path, firefox_options, service_args, desired_capabilities, log_path, keep_alive) 172 command_executor=executor, 173 desired_capabilities=capabilities,
--> 174 keep_alive=True) 175 176 # Selenium remote
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py in __init__(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options) 155 warnings.warn("Please use FirefoxOptions to set browser profile", 156 DeprecationWarning, stacklevel=2)
--> 157 self.start_session(capabilities, browser_profile) 158 self._switch_to = SwitchTo(self) 159 self._mobile = Mobile(self)
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py in start_session(self, capabilities, browser_profile) 250 parameters = {"capabilities": w3c_caps, 251 "desiredCapabilities": capabilities}
--> 252 response = self.execute(Command.NEW_SESSION, parameters) 253 if 'sessionId' not in response: 254 response = response['value']
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py in execute(self, driver_command, params) 319 response = self.command_executor.execute(driver_command, params) 320 if response:
--> 321 self.error_handler.check_response(response) 322 response['value'] = self._unwrap_value( 323 response.get('value', None))
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response) 240 alert_text = value['alert'].get('text') 241 raise exception_class(message, screen, stacktrace, alert_text)
--> 242 raise exception_class(message, screen, stacktrace) 243 244 def _value_or_default(self, obj, key, default):
WebDriverException: Message: Process unexpectedly closed with status signal

Update #1

Here's my best try, it puts everything in all the paths needed:

import sys,os
from os import system as o
!pip install selenium
def sudo_cmd(cmd):o('echo %s|sudo -S %s' % ('12345678', cmd))
sudo_cmd('apt-get update')
sudo_cmd('apt install firefox-geckodriver')
sudo_cmd('cp /usr/lib/geckodriver /usr/bin')
sys.path.insert(0,'/usr/lib/geckodriver')
from selenium import webdriver
options = webdriver.FirefoxOptions()
options.headless = True
options.add_argument('--no-sandbox')
driver = webdriver.Firefox(options=options, executable_path='geckodriver')
driver.get(')

But I still get the same Error.

Also I noticed that the geckodriver.log file outputs src/tcmalloc.cc:283] Attempt to free invalid pointer 0x7fa48e915160 Redirecting call to abort() to mozalloc_abort before the setup code errors out.

The remote server is running on Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic. If you have a google account, try it yourself here for free:

I would be happy if anyone could help me! 👍

2 Reset to default

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like