selenium Webdriver版本和浏览器版本不匹配问题:ChromeDriver only supports Chrome version 119 Current browser version is 124.0.6367.202

问题描述

代码如下:

from selenium import webdriver from selenium.webdriver.common.by import By   def test01():     driver = webdriver.Chrome()     driver.get("https://www.baidu.com/")     driver.find_element(by=By.ID,value='kw').send_keys("你好")     driver.find_element(by=By.ID,value='su').click()  if __name__ =="__main__":     test01()

报错:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 119 Current browser version is 124.0.6367.202 with binary path C:Program FilesGoogleChromeApplicationchrome.exe

 

解决过程:

打开debug,查看详细错误信息

 参考Selenium官网:Unable to Locate Driver Error,使用logging打印debug日志

代码如下:

import logging  from selenium import webdriver from selenium.webdriver.common.by import By  logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger('selenium') logger.setLevel(logging.DEBUG) def test01():     driver = webdriver.Chrome()     driver.get("https://www.baidu.com/")     driver.find_element(by=By.ID,value='kw').send_keys("你好")     driver.find_element(by=By.ID,value='su').click()  if __name__ =="__main__":     test01()

debug日志显示

从日志信息可以看出处理过程:

1、查找Selenium Manager执行文件并调用

2、通过Selenium Manager查找chromedriver 位置和版本

3、通过Selenium Manager查找browser位置和版本

4、判断browser和chromedriver版本是否兼容

DEBUG:selenium.webdriver.common.selenium_manager:Selenium Manager binary found at: H:codespythonautomationSeleniumAuto.venvLibsite-packagesseleniumwebdrivercommonwindowsselenium-manager.exe DEBUG:selenium.webdriver.common.selenium_manager:Executing process: H:codespythonautomationSeleniumAuto.venvLibsite-packagesseleniumwebdrivercommonwindowsselenium-manager.exe --browser chrome --debug --language-binding python --output json DEBUG:selenium.webdriver.common.selenium_manager:Found chromedriver 119.0.6045.105 in PATH: H:studyseleniumdriverschromedriver.exe DEBUG:selenium.webdriver.common.selenium_manager:chrome detected at C:Program FilesGoogleChromeApplicationchrome.exe DEBUG:selenium.webdriver.common.selenium_manager:Running command: wmic datafile where name='C:\Program Files\Google\Chrome\Application\chrome.exe' get Version /value DEBUG:selenium.webdriver.common.selenium_manager:Output: "rrnrrnVersion=124.0.6367.202rrnrrnrrnr" DEBUG:selenium.webdriver.common.selenium_manager:Detected browser: chrome 124.0.6367.202 DEBUG:selenium.webdriver.common.selenium_manager:Required driver: chromedriver 124.0.6367.201 WARNING:selenium.webdriver.common.selenium_manager:The chromedriver version (119.0.6045.105) detected in PATH at H:studyseleniumdriverschromedriver.exe might not be compatible with the detected chrome version (124.0.6367.202); currently, chromedriver 124.0.6367.201 is recommended for chrome 124.*, so it is advised to delete the driver in PATH and retry DEBUG:selenium.webdriver.common.selenium_manager:Driver path: H:studyseleniumdriverschromedriver.exe DEBUG:selenium.webdriver.common.selenium_manager:Browser path: C:Program FilesGoogleChromeApplicationchrome.exe

删除现有的chromedriver.exe

删除现有的chromedriver.exe:H:studyseleniumdriverschromedriver.exe,让Selenium Manager自己请求合适的chromedriver.exe版本,重新执行程序,程序通过,查看debug日志,详细过程如下:

1、查找Selenium Manager执行文件并调用

2、通过Selenium Manager查找发现没有现成的chromedriver

3、通过Selenium Manager查找browser位置和版本

4、通过Selenium Manager请求兼容brower版本的chromedriver

DEBUG:selenium.webdriver.common.selenium_manager:Selenium Manager binary found at: H:codespythonautomationSeleniumAuto.venvLibsite-packagesseleniumwebdrivercommonwindowsselenium-manager.exe DEBUG:selenium.webdriver.common.selenium_manager:Executing process: H:codespythonautomationSeleniumAuto.venvLibsite-packagesseleniumwebdrivercommonwindowsselenium-manager.exe --browser chrome --debug --language-binding python --output json DEBUG:selenium.webdriver.common.selenium_manager:chromedriver not found in PATH DEBUG:selenium.webdriver.common.selenium_manager:chrome detected at C:Program FilesGoogleChromeApplicationchrome.exe DEBUG:selenium.webdriver.common.selenium_manager:Running command: wmic datafile where name='C:\Program Files\Google\Chrome\Application\chrome.exe' get Version /value DEBUG:selenium.webdriver.common.selenium_manager:Output: "rrnrrnVersion=124.0.6367.202rrnrrnrrnr" DEBUG:selenium.webdriver.common.selenium_manager:Detected browser: chrome 124.0.6367.202 DEBUG:selenium.webdriver.common.selenium_manager:Required driver: chromedriver 124.0.6367.201 DEBUG:selenium.webdriver.common.selenium_manager:Discovering versions from https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json DEBUG:selenium.webdriver.common.selenium_manager:Downloading chromedriver 124.0.6367.201 from https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.201/win64/chromedriver-win64.zip DEBUG:selenium.webdriver.common.selenium_manager:Driver path: C:Userslenovo.cacheseleniumchromedriverwin64124.0.6367.201chromedriver.exe DEBUG:selenium.webdriver.common.selenium_manager:Browser path: C:Program FilesGoogleChromeApplicationchrome.exe DEBUG:selenium.webdriver.common.service:Started executable: `C:Userslenovo.cacheseleniumchromedriverwin64124.0.6367.201chromedriver.exe` in a child process with pid: 17216 using 0 to output -3

 

 

 

参考资料:

Selenium官网:Unable to Locate Driver Error

 

发表评论

评论已关闭。

相关文章