微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium.common.exceptions.WebDriverException:消息:Chrome与ChromeDriver一起使用find_element_by_id Selenium时

这是HTML代码

< input class="form-control input-lg input auto-complete" id="ymMsginput" type="text" placeholder="Type your message ..." autocomplete="off" >

码:

i = s.find_element_by_id("ymMsginput");

Python-Selenium Chrome Webdriver错误

Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    i = s.find_element_by_id("ymMsginput");
  File "C:\Users\vishn\AppData\Local\Programs\Python\python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 351, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "C:\Users\vishn\AppData\Local\Programs\Python\python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 955, in find_element
    'value': value})['value']
  File "C:\Users\vishn\AppData\Local\Programs\Python\python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:\Users\vishn\AppData\Local\Programs\Python\python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.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)

解决方法:

错误说明了一切:

    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable

用户使用的二进制文件之间存在版本兼容性的情况下,会观察到此错误,但绝对不是您的情况:

>使用chromedriver = 2.36
>使用chrome = 65.0
>硒版本未知

chromedriver=2.36的发行说明中明确提到:

Supports Chrome v65-66

但是,自从发布最新的Chromedriver 2.36 Selenium以来,用户一直在面对它的问题.这是线程之一:

> We released the latest Chromedriver 2.36

根本原因与以下方面的提交有关:

> Remove –disable-infobars

因此,有两种可能的解决方案:
>使用ChromeOptions类最大化浏览器.
>删除选项disable-infobars
>一个例子:

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)

如果问题仍然存在,请考虑以下事项:

>将Selenium Python客户端升级到当前级别Version 3.10.0.
>将ChromeDriver升级到稳定的ChromeDriver v2.35级别.
>将Chrome版本保持在Chrome v64.x级别. (as per ChromeDriver v2.35 release notes)
>通过IDE清理项目工作区,并仅使用必需的依赖项重建项目.
>使用CCleaner工具清除测试套件执行前后的所有操作系统杂项.
>如果您的基本Chrome版本太旧,请通过Revo Uninstaller卸载它,并安装最新的GA和已发布的Chrome版本.
>执行测试.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐