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

selenium,webdriver,chromedriver,only,supports,chrome,version,current,browser,is · 浏览次数 : 0

小编点评

**代码分析:** ```python 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() ``` **错误日志:** ``` selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 119Current browser version is 124.0.6367.202 with binary path C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe 解决过程:打开debug,查看详细错误信息 参考Selenium官网:Unable to Locate Driver Error,使用logging打印debug日志代码如下: ``` DEBUG:selenium.webdriver.common.selenium_manager:Selenium Manager binary found at: H:\\codes\\python\\automation\\SeleniumAuto\\.venv\\Lib\\site-packages\\selenium\\webdriver\\common\\windows\\selenium-manager.exe DEBUG:selenium.webdriver.common.selenium_manager:Executing process: H:\\codes\\python\\automation\\SeleniumAuto\\.venv\\Lib\\site-packages\\selenium\\webdriver\\common\\windows\\selenium-manager.exe --browser chrome --debug --language-binding python --output jsonDEBUG:selenium.webdriver.common.selenium_manager:chromedriver not found in PATH ``` **解决方法:** 根据错误日志中,chromedriver 版本不兼容当前浏览器版本(124.0.6367.202)。因此,需要删除现有的 ChromeDriver 檔案(`chromedriver.exe`)并重新下载 compatible 版本的 ChromeDriver。 **注意:** * 该代码需要安装 `selenium` 库才能运行。 * 请确保 ChromeDriver 运行在与浏览器相同的操作系统上。 * 下载 ChromeDriver 檔案时,请注意安全性和版本兼容性。

正文

问题描述

代码如下:

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 Files\Google\Chrome\Application\chrome.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:\codes\python\automation\SeleniumAuto\.venv\Lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe
DEBUG:selenium.webdriver.common.selenium_manager:Executing process: H:\codes\python\automation\SeleniumAuto\.venv\Lib\site-packages\selenium\webdriver\common\windows\selenium-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:\study\selenium\drivers\chromedriver.exe
DEBUG:selenium.webdriver.common.selenium_manager:chrome detected at C:\Program Files\Google\Chrome\Application\chrome.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: "\r\r\n\r\r\nVersion=124.0.6367.202\r\r\n\r\r\n\r\r\n\r"
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:\study\selenium\drivers\chromedriver.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:\study\selenium\drivers\chromedriver.exe
DEBUG:selenium.webdriver.common.selenium_manager:Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe

删除现有的chromedriver.exe

删除现有的chromedriver.exe:H:\study\selenium\drivers\chromedriver.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:\codes\python\automation\SeleniumAuto\.venv\Lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe
DEBUG:selenium.webdriver.common.selenium_manager:Executing process: H:\codes\python\automation\SeleniumAuto\.venv\Lib\site-packages\selenium\webdriver\common\windows\selenium-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 Files\Google\Chrome\Application\chrome.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: "\r\r\n\r\r\nVersion=124.0.6367.202\r\r\n\r\r\n\r\r\n\r"
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:\Users\lenovo\.cache\selenium\chromedriver\win64\124.0.6367.201\chromedriver.exe
DEBUG:selenium.webdriver.common.selenium_manager:Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
DEBUG:selenium.webdriver.common.service:Started executable: `C:\Users\lenovo\.cache\selenium\chromedriver\win64\124.0.6367.201\chromedriver.exe` in a child process with pid: 17216 using 0 to output -3

 

 

 

参考资料:

Selenium官网:Unable to Locate Driver Error

 

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

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://ww

Selenium4.6版本浏览器自动退出问题

Selenium4.6版本浏览器自动退出问题 代码 from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com') # 这一步其实没必要,只是为了演示 现象 打开百度后chr

命令行获取chrome版本的多个方法

命令行获取chrome版本的多个方法 基于win10 测试 背景 在selenium的驱动安装中用webdriver_manager自动处理chromedriver是比较好的做法 webdriver_manager提供了一些方法可以去获取浏览器版本号,但好像就firefox支持,chrome并无 c

Chrome116驱动下载路径 解决版本不匹配问题

# Chrome116驱动下载路径 解决版本不匹配问题 > 更新于 2023-08-23 后续可能会有同步(镜像),就不会引发该问题 > 本文基于python3.9 + selenium4.3+webdriver-manager 3.8.6 > 要看解决可以直接看最后的总结 # 背景 执行selen

Selenium 自动化浏览器,解决懒加载的网页获取问题

Selenium 自动化浏览器,解决懒加载的网页获取问题。可以用于爬虫这些 在使用 Selenium WebDriver 进行自动化测试时,可以通过设置日志级别来控制输出的日志信息。在 C# 中,可以通过以下方式来禁用 Selenium WebDriver 输出的日志信息: 导入 OpenQA.Se

Selenium4自动化测试8--控件获取数据--上传、下载、https和切换分页

10-上传 上传不能模拟用户在页面上选择本地文件,只能先把要上传的文件先准备好在代码里上传 import time from selenium.webdriver.support.select import Select #pip install selenium from selenium imp

Selenium4自动化测试3--元素定位By.NAME,By.LINK_TEXT 和通过链接部分文本定位,By.PARTIAL_LINK_TEXT,css_selector定位,By.CSS_SELECTOR

4-通过名称定位,By.NAME name属性为表单中客户端提交数据的标识,一个网页中name值可能不是唯一的。所以要根据实际情况进行判断 import time from selenium import webdriver from selenium.webdriver.common.by imp

Selenium中对于颜色的处理及拓展

Selenium中对于颜色的处理及拓展 获取百度一下按钮的背景色 from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.get('https://www.baidu.com')

谈谈Selenium中浏览器驱动的日志

谈谈Selenium中浏览器驱动的日志 来源于一位同学,“老师为啥firefox执行后会有日志文件,chrome没有呢?” 比对 你打开chrome浏览器 from selenium import webdriver driver = webdriver.Chrome() 这样是没有日志的 同样的代

ddddocr1.4.8失效的解决方法

1. 问题描述 from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.maximize_window() driver.get('http://124.223.30.31:xx