selenium.common.exceptions.WebDriverException:消息:将 find_element_by_id Selenium 与 ChromeDriver 一起使用时出现 chrome 无法访问错误

新手上路,请多包涵

这是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 网络驱动程序错误:

 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)

原文由 Guru Vishnu Vardhan Reddy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 534
2 个回答

错误说明了一切:

     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 用户发布以来,它一直面临着问题。这是线程之一:

根本原因与提交有关:

因此,一些可能的解决方案是:

  • 使用 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 Client 升级到当前级别 Version 3.10.0
  • ChromeDriver 升级到 稳定 的 ChromeDriver v2.35 级别。
  • Chrome 版本保持在 Chrome v64.x 级别。 ( 根据 ChromeDriver v2.35 发行说明
  • 通过您的 IDE 清理 您的 _项目工作区_,并仅使用所需的依赖 项重建 您的项目。
  • 使用 CCleaner 工具清除执行 测试套件 前后的所有操作系统杂务。
  • 如果您的基本 Chrome 版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Chrome。
  • 执行你的 Test

原文由 undetected Selenium 发布,翻译遵循 CC BY-SA 4.0 许可协议

您的例外与查找元素无关。 Selenium 无法联系 Chrome。你可以做几件事。

  1. 根据您的硒版本降级/升级您的 chromedriver。

  2. 将 –no-sandbox 传递给 chrome 选项。

    chrome_options.add_argument('--no-sandbox')
   chrome = webdriver.Chrome('/usr/local/bin/chromedriver', chrome_options=chrome_options)

原文由 Prakash Palnati 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题