Selenium 問題解決 – Webdrive Version 錯誤

Debug_selenium_featured_picture

前言:

例行的Selenium Script有一天突然不能用了? 快來看看是不是遇到了webdrive 版本不符的問題。

偶然的機會,Chrome瀏覽器更新了,當下沒有想太多。直到每次常用的Selenium 程式要執行的時候才發現,竟然不能使用了。原來是Webdrive 版本與瀏覽器ChromeDrive版本不符,來一起了解問題吧。

問題:

執行了程式以後發現Python報錯如下:

DevTools listening on ws://127.0.0.1:50536/devtools/browser/6544edd9-f704-49cc-8fbb-90c0dxxxxxx2
Traceback (most recent call last):
  File "E:\Python_Projects\example.py", line 32, in <module>
    driver = webdriver.Chrome()
  File "C:\Users\example\Anaconda3\envs\Python_WebAutomation\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "C:\Users\example\Anaconda3\envs\Python_WebAutomation\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\example\Anaconda3\envs\Python_WebAutomation\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\example\Anaconda3\envs\Python_WebAutomation\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\example\Anaconda3\envs\Python_WebAutomation\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84


Process returned 1 (0x1)        execution time : 3.485 s
請按任意鍵繼續 . . .

在最後一行提供了線索, 

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84

看來是版本的問題,簡單的來說,當前電腦系統安裝的Chrome瀏覽器版本與Selenium的Chrome drive版本不匹配。馬上開啟Chrome看看,若果然,版本已經不相符了。瀏覽器已經因為更新進版到 86版本。 而Selenium的Webdrvie還在84版本。

解決:

馬上找一下Chrome新的Webdrive,連結如下

https://chromedriver.chromium.org/downloads

把新的Webdrive 下載回來置換掉原本的舊Webdrive就完成了,若不知道下載回來的檔案要放在哪裡,可以參考這篇

python自動化工具-selenium-機器人般的瀏覽器

小結:

Google的產品與雲端的連結都非常緊密,因此常常需要更新,一旦更新的時候,許多開發的配套工具也會需要同步版本,所以我們要常常注意,若自動更新關閉的時候,在一定的區間,Google Chrome也會找機會讓您手動更新。因此時時注意版本是否同步,才能讓開發變得更順利。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *