python - 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)
解决方案
能否请您检查一下您的 chrome 浏览器是否与您的 chrome 浏览器兼容?您的 chrome 可能会自动更新,现在您的 chrome 浏览器与 chrome 驱动程序不兼容。
推荐阅读
- powershell - Powershell 无法从生成的文本框中获取数据
- python - 从 timezone.now() 中隐藏毫秒(在 HTML 中)
- nixos - 不能将 unfreeRedistributableFirmware 列入黑名单
- powershell - Catching script-terminating errors only in PowerShell
- c - 为什么for循环无限运行?
- javascript - 如何让 JavaScript 函数在不同的 HTML 页面上工作?
- python - Doxygen 的双井号标签/数字符号 (##) 不符合 PEP8 (E266)
- ruby-on-rails - 为什么 docker run 给我看 rails new 命令的手册
- apache - NET::ERR_CERT_AUTHORITY_INVALID 带有 Letsencrypt 证书
- python - 将 pandas 数据帧输出为多级 python 字典以支持 API JSON 请求