1. 程式人生 > 其它 >Python+Selenium | ChromeDriver版本錯誤之升級驅動,及禁止瀏覽器自動更新

Python+Selenium | ChromeDriver版本錯誤之升級驅動,及禁止瀏覽器自動更新

背景:

用python + selenium寫的UI自動化程式碼,原來可執行,今天執行突然報如下的錯:

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

Current browser version is 91.0.4472.77 with binary path

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

原因分析:

報錯的原因是ChromeDriver的版本跟Chrome瀏覽器的版本不一致了,原來Chrome瀏覽器設定了自動更新,但是ChromeDriver沒更新。

如何解決:

大體思路是:

1、安裝目前瀏覽器版本的ChromeDriver

2、禁止chrome瀏覽器自動升級(通過禁用更新服務)

具體步驟如下:

1、安裝目前瀏覽器版本對應的ChromeDriver

有兩個下載地址:

1)http://chromedriver.storage.googleapis.com/index.html

2)https://npm.taobao.org/mirrors/chromedriver/

例如,我的Chrome瀏覽器版本是91.0.4472,

接下來,下載對應版本:

2、安裝和配置

將壓縮包中的chromedriver.exe複製到原存放ChromeDriver的路徑(其他路徑也可用):

確認下,環境變數中使用者變數中PATH的配置,是否ok:

(如果是將chromedriver.exe放在其他路徑的,把對應路徑新增到PATH即可。)

完成後,在cmd下輸入chromedriver驗證是否安裝成功:

3、升級chromedriver.exe後,驗證執行是否報錯

1 from selenium import webdriver
2 import time
3 
4 driver = webdriver.Chrome()
5 driver.get('https://www.baidu.com') 6 time.sleep(1)

(筆者已用實際程式碼,驗證可用,以上是樣例。)

4、禁止Chrome瀏覽器自動升級(通過禁用更新服務)

Win10作業系統,此電腦-管理-服務和應用程式-服務:

在右側服務中,找到“Google更新服務(Gupdate)"與“Google更新服務(Gupdatem)”

禁用這兩項服務:

重啟電腦後,Chrome瀏覽器將不再自動升級。