4 回答

TA貢獻1843條經驗 獲得超7個贊
您的 ChromeDriver 版本和安裝的 Chrome 版本需要匹配。您正在使用 ChromeDriver for Chrome version 84,在本回答時,它是 Chrome 的測試版(不穩定);你可能沒有使用它。您可能使用的是 83 版。
檢查您的 Chrome 版本(幫助 -> 關于),然后找到正確的ChromeDriver 版本。您可以改為使用webdriver-manager
which can handle this for you。

TA貢獻1825條經驗 獲得超4個贊
我們可以自動執行下載二進制文件和配置路徑的任務。
我們不必擔心瀏覽器版本或二進制版本
這可以通過使用webdriver-manager來完成
pip install webdriver-manager
現在,問題中的上述代碼只需進行以下更改即可,
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
同樣可用于設置 Firefox、Edge 和 ie 二進制文件。

TA貢獻1757條經驗 獲得超8個贊
這個錯誤信息...
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84
...暗示ChromeDriver無法啟動/生成新的瀏覽上下文,即Chrome 瀏覽器會話。
分析
您的主要問題是您使用的二進制文件版本之間不兼容,如下所示:
您正在使用chromedriver=84
chromedriver=84的發行說明清楚地提到:
支持Chrome 版本 84
據推測,您正在使用chrome=83最新推出的 Chrome。
所以ChromeDriver v84和Chrome Browser v83之間存在明顯的不匹配
解決方案
此問題有兩 (2) 個解決方案。
最簡單的解決方案是下載并開始使用chromedriver=83.0.4103.39
如果您想繼續使用chromedriver=84,您必須從任一官方開發存儲庫下載最新的Chromium二進制文件:
此外還要確保:
Selenium升級到當前級別Version 3.141.59。
如果您的基本Web 客戶端版本太舊,則將其卸載并安裝最新的 GA 和已發布版本的Web 客戶端。
通過您的IDE清理您的項目工作區,并僅使用所需的依賴項重建您的項目。
如果您的基本Web 客戶端版本太舊,則將其卸載并安裝最新的 GA 和已發布版本的Web 客戶端。
重新啟動系統。
@Test
以非 root用戶身份執行。始終
driver.quit()
在tearDown(){}
方法內調用以優雅地關閉和銷毀WebDriver和Web Client實例。

TA貢獻1874條經驗 獲得超12個贊
添加回答
舉報