pcr
pcr

Reputation: 168

Chromedriver on a headless GCP Ubuntu crashes with "unable to connect to renderer"

$ cat /etc/os-release | grep VERSION=
VERSION="20.04.1 LTS (Focal Fossa)"
$ chromedriver --version
ChromeDriver 86.0.4240.22 (398b0743353ff36fb1b82468f63a3a93b4e2e89e-refs/branch-heads/4240@{#378})
$ chromium --version
Chromium 86.0.4240.183 snap

This is the code I use to run

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.headless = True
chrome_options.add_argument("--remote-debugging-port=9222")
driver = webdriver.Chrome(options=chrome_options)
driver.get("http://www.google.com")
print(driver.title)
print("works")

This is the error message I always get

  File "minimal_scraper_test.py", line 17, in <module>
    driver = webdriver.Chrome(options=chrome_options)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "/home/ubuntu/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/ubuntu/venv/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created
from disconnected: unable to connect to renderer
  (Session info: headless chrome=86.0.4240.183)

I have looked at questions with very similar error message. Most of them are due to version mismatch between chromedriver and chromium. However, both of my versions match. Thank you very much for the help.

Upvotes: 0

Views: 350

Answers (1)

pcr
pcr

Reputation: 168

It turned out that the problem was I had zombie chromium and chromedriver processes. Killing them and rerunning the code snippet I posted worked.

Upvotes: 1

Related Questions