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 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 启动三大浏览器Firefox,Chrome,IE
selenium webdriver 启动三大浏览器Firefox,Chrome,IE 1.安装selenium 在联网的情况下,在Windows命令行(cmd)输入pip install selen ...
- .NET 获取客户端的操作系统版本、浏览器版本和IP地址
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...
- Selenium WebDriver使用IE浏览器
摘:http://www.cnblogs.com/dream0577/archive/2012/10/07/2714579.html /** 用IE驱动,1.先到官网下载IEDriverS ...
- selenium webdriver启动IE浏览器失败的解决办法
通过selenium webdriver启动IE浏览器失败,报错:selenium.common.exceptions.WebDriverException: Message: Unexpected ...
- Js获取操作系统版本 && 获得浏览器版本
//利用原生Js获取操作系统版本function getOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.plat ...
- selenium之 webdriver与三大浏览器版本映射表(更新至v2.29)
1.chrome浏览器 chromedriver版本 支持的Chrome版本 v2.29 v56-58 v2.28 v55-57 v2.27 v54-56 v2.26 v53-55 v2.25 v53 ...
- selenium webdriver操作各浏览器
描述 本文主要是针对Chrome 62 , firefox57 ,和IE11 三个版本的操作.相关的driver .可点击以下链接.所有的driver 建议放在浏览器的目录下,本文中所有的driver ...
- Selenium webdriver 操作IE浏览器
V1.0版本:直接新建WebDriver使用 import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetE ...
- 【转】通过js获取系统版本以及浏览器版本
function getOsInfo() { var userAgent = navigator.userAgent.toLowerCase(); var name = 'Unknown'; var ...
- Selenium WebDriver的多浏览器测试
1. IE浏览器,需要配合下载IEDriverSever.exe的驱动程序,目前selenium支持IE9以上. (驱动程序下载链接:https://pan.baidu.com/s/1YpaUsIs1 ...
随机推荐
- #zkw线段树#洛谷 3792 由乃与大母神原型和偶像崇拜
题目 给你一个长为 \(n\) 的序列 \(a\) 每次两个操作: 修改 \(x\) 位置的值为 \(y\) 查询区间 \([l,r]\) 是否可以重排为值域上连续的一段 分析 直接维护区间最大值和最 ...
- FindBugs问题EQ_COMPARETO_USE_OBJECT_EQUALS的解决方法
本文记录的是2016年4月初发生的事情. 前几天,标准CI的静态检查页面发现一个项目组同事引入的FindBugs问题,EQ_COMPARETO_USE_OBJECT_EQUALS,CI对这个问题给出的 ...
- C++ While 和 For 循环:流程控制全解析
C++ Switch 语句 使用 switch 语句选择要执行的多个代码块之一. 语法 switch(expression) { case x: // 代码块 break; case y: // 代码 ...
- AJAX 前端开发利器:实现网页动态更新的核心技术
AJAX AJAX是开发者的梦想,因为你可以: 在不重新加载页面的情况下更新网页 在页面加载后请求来自服务器的数据 在页面加载后接收来自服务器的数据 在后台向服务器发送数据 HTML页面 <!D ...
- Numpy结构化数组
Numpy结构化数组 Numpy的结构化数组和记录数组为复合的.异构的的数据提供了非常有效的存储. 结构化数组 In [1]: import numpy as np In [2]: name = [' ...
- stack smashing--canary报错利用
stack smashing--canary报错利用 一般这种都是考察点比较狭窄,因为这个漏洞在libc2.23以上就被修复了,漏洞产生的原因是因为当覆盖掉canary的时候程序会报错,程序会执行 _ ...
- 力扣176(MySQL)-第二高的薪水(中等)
题目: id 是这个表的主键.表的每一行包含员工的工资信息. 编写一个 SQL 查询,获取并返回 Employee 表中第二高的薪水 .如果不存在第二高的薪水,查询应该返回 null . 查询结果如下 ...
- 硬之城携手阿里云 Serverless 应用引擎(SAE)打造低代码平台
简介: 简化用云的成本,把复杂留给自己,简单留给用户. 作者 | 陈泽涛(硬之城产品总监)& 洛浩(阿里云云原生高级架构师) 硬之城成立于 2015 年,是一家以电子元器件 BOM 整体供应为 ...
- Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 3 渐进式灰度发布
简介: 作为CNCF[成员](https://landscape.cncf.io/card-mode?category=continuous-integration-delivery&grou ...
- 技术干货 | 闲鱼:一个优秀的 Push 平台,需要经历怎样的前世今生
简介: mPaaS 消息推送服务,快速集成多家厂商 Push 通道,有效提高用户留存率,提升用户体验. 编者荐语: 点击这里,了解 mPaaS 消息推送服务,快速集成多家厂商 Push 通道,有效提 ...