Here is the html code:
< input class="form-control input-lg input auto-complete" id="ymMsgInput" type="text" placeholder="Type your message ..." autocomplete="off" >
Code:
i = s.find_element_by_id("ymMsgInput");
Python – Selenium Chrome webdriver error:
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
i = s.find_element_by_id("ymMsgInput");
File "C:UsersvishnAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 351, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "C:UsersvishnAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 955, in find_element
'value': value})['value']
File "C:UsersvishnAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "C:UsersvishnAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdriverremoteerrorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 10.0.16299 x86_64)
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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 :
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:pathtochromedriver.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.
Method 2
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)
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0