selenium.common.exceptions.WebDriverException: Message: chrome not reachable error while using find_element_by_id Selenium with ChromeDriver
The error says it all :
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable
This error is observed in case of version compatibility between the binaries which an user uses but definitely this is not your case as you are :
- Using chromedriver=2.36
- Using chrome=65.0
-
Selenium version unknown
Release Notes of chromedriver=2.36 clearly mentions :
Supports Chrome v65-66
But, since the release of the latest Chromedriver 2.36 Selenium users had been facing issues with it. Here is one of the threads :
- We released the latest Chromedriver 2.36
The root cause is related to the commit regarding :
-
Remove --disable-infobars
So, a couple of possible solution will be to :
To use ChromeOptions Class to maximize the browser.
- Remove the option
disable-infobars
-
An example :
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("start-maximized") driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\path\to\chromedriver.exe') driver.get('https://www.google.co.in') print("Page Title is : %s" %driver.title)
If your issue still persists consider the following :
- Upgrade Selenium Python Client to current levels Version 3.10.0.
- Upgrade ChromeDriver to stable ChromeDriver v2.35 level.
- Keep Chrome version at Chrome v64.x levels. (as per ChromeDriver v2.35 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
- If your base Chrome version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Chrome.
- Execute your
Test
.
Your exception is not about finding an element. Selenium is not able to contact Chrome. You can do couple of things.
Downgrade/upgrade your chromedriver based on your selenium version.
-
Pass --no-sandbox to chrome options.
chrome_options.add_argument('--no-sandbox') chrome = webdriver.Chrome('/usr/local/bin/chromedriver', chrome_options=chrome_options)