python selenium: WebDriverException: сообщение: chrome недоступен


Я столкнулся с проблемой с python selenium Я ввел код ниже, он работал хорошо несколько минут назад, но теперь он не работает, говоря chrome не доступен Пожалуйста, помогите!

from selenium import webdriver
driver = webdriver.Chrome('/Users/Danny/Downloads/chromedriver_win32/chromedriver')
driver.get('https://google.com')

Результаты

---------------------------------------------------------------------------
WebDriverException                        Traceback (most recent call last)
<ipython-input-36-6bcc3a6d3d05> in <module>()
----> 1 driver.get('https://google.com')

~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in get(self, url)
    322         Loads a web page in the current browser session.
    323         """
--> 324         self.execute(Command.GET, {'url': url})
    325 
    326     @property

~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    310         response = self.command_executor.execute(driver_command, params)
    311         if response:
--> 312             self.error_handler.check_response(response)
    313             response['value'] = self._unwrap_value(
    314                 response.get('value', None))

~\Anaconda3\lib\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=64.0.3282.140)
  (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 10.0.16299 x86_64)

Править

Это действительно работает, когда я пробую этот код, но я не знаю, почему он вдруг работает Может кто-нибудь объяснить этот код?

driver=webdriver.Chrome(executable_path="C:/Users\Danny\Downloads\chromedriver_win32\chromedriver.exe")

for i in range(1,10):
driver.get('https://google.com')
3   2  

3 ответа:

Ошибка, которую вы видите, дает нам следующий намек:

WebDriverException                        Traceback (most recent call last)
<ipython-input-36-6bcc3a6d3d05> in <module>()
----> 1 driver.get('https://google.com')

Вот некоторые наблюдения и средства защиты:

  • Прежде всего, я хотел бы, чтобы вы оглянулись на точный абсолютный путь двоичного файла ChromeDriver , и мое предположение вместо:

    /Users/Users/Downloads/chromedriver_win32/chromedriver
    

    Это должно было быть:

    /Users/Downloads/chromedriver_win32/chromedriver
    
  • Более того, лучшим способом передать местоположение двоичного файла ChromeDriver было бы также передать аргумент executable_path , так что строка будет выглядеть так:

    driver = webdriver.Chrome(executable_path=r'/Users/Users/Downloads/chromedriver_win32/chromedriver')
    
  • Наконец, всякий раз, когда вы вызываете get() метод, чтобы открыть URL попробуйте передать полное доменное имя (FQDN) следующим образом:

    driver.get('https://www.google.co.in')
    

Используйте это.

from selenium import webdriver
path=r"/Users/Users/Downloads/chromedriver_win32/chromedriver"
driver=webdriver.Chrome(path)
driver.get("https://google.com")

Что r в пути означает "сырой", и это может решить вашу проблему.

Как бы то ни было, я обнаружил, что простой перезапуск моей машины разработки решает эту проблему для меня. Он иногда всплывает без какого-либо конкретного объяснения и решается с перезагрузкой.