首页 > 解决方案 > WebDriverException:消息:chrome 无法访问,当它在一分钟前工作时

问题描述

我正在使用 Selenium 编写一个刮板,直到 15 分钟前它都运行良好。突然之间,每次执行时都会出现以下错误。这是我的代码:

searchDate = wait.until(EC.element_to_be_clickable((By.XPATH, "/input[@placeholder='select sold date range']")))
searchDate.click()
time.sleep(5)

和错误:

WebDriverException: Message: chrome not reachable
  (Session info: chrome=80.0.3987.163)

我的镀铬设置:

options = webdriver.ChromeOptions()
prefs = {'download.default_directory': new_dir}
options.add_experimental_option('prefs', prefs)
browser = webdriver.Chrome(executable_path = r'C:/Program Files/chromedriver/chromedriver.exe')

我试图通过链接其他帖子建议的选项来解决问题,例如:

options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
prefs = {'download.default_directory': new_dir}
options.add_experimental_option('prefs', prefs)
browser = webdriver.Chrome(executable_path = r'C:/Program Files/chromedriver/chromedriver.exe', chrome_options=options)

但我仍然得到完全相同的错误。为什么会这样?

任何建议将不胜感激!

++

---------------------------------------------------------------------------
WebDriverException                        Traceback (most recent call last)
<ipython-input-102-c7d533e1df88> in <module>
----> 1 wait.until(EC.visibility_of_element_located((By.XPATH,"//input[@name='daterangepicker_start']"))).click()
      2 
      3 

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\support\wait.py in until(self, method, message)
     69         while True:
     70             try:
---> 71                 value = method(self._driver)
     72                 if value:
     73                     return value

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\support\expected_conditions.py in __call__(self, driver)
    126     def __call__(self, driver):
    127         try:
--> 128             return _element_if_visible(_find_element(driver, self.locator))
    129         except StaleElementReferenceException:
    130             return False

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\support\expected_conditions.py in _find_element(driver, by)
    413         raise e
    414     except WebDriverException as e:
--> 415         raise e
    416 
    417 

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\support\expected_conditions.py in _find_element(driver, by)
    409     if thrown."""
    410     try:
--> 411         return driver.find_element(*by)
    412     except NoSuchElementException as e:
    413         raise e

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
    976         return self.execute(Command.FIND_ELEMENT, {
    977             'using': by,
--> 978             'value': value})['value']
    979 
    980     def find_elements(self, by=By.ID, value=None):

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None))

~\AppData\Roaming\Python\Python37\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):

WebDriverException: Message: chrome not reachable
  (Session info: chrome=81.0.4044.92)

标签: pythonseleniumgoogle-chromeselenium-webdriver

解决方案


能否请您检查一下您的 chrome 浏览器是否与您的 chrome 浏览器兼容?您的 chrome 可能会自动更新,现在您的 chrome 浏览器与 chrome 驱动程序不兼容。

您可以从这里下载 chrome 驱动程序


推荐阅读