问题描述

代码如下:

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的更多相关文章

  1. selenium webdriver 启动三大浏览器Firefox,Chrome,IE

    selenium webdriver 启动三大浏览器Firefox,Chrome,IE 1.安装selenium 在联网的情况下,在Windows命令行(cmd)输入pip install selen ...

  2. .NET 获取客户端的操作系统版本、浏览器版本和IP地址

    我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...

  3. Selenium WebDriver使用IE浏览器

    摘:http://www.cnblogs.com/dream0577/archive/2012/10/07/2714579.html /**       用IE驱动,1.先到官网下载IEDriverS ...

  4. selenium webdriver启动IE浏览器失败的解决办法

    通过selenium webdriver启动IE浏览器失败,报错:selenium.common.exceptions.WebDriverException: Message: Unexpected ...

  5. Js获取操作系统版本 && 获得浏览器版本

    //利用原生Js获取操作系统版本function getOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.plat ...

  6. 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 ...

  7. selenium webdriver操作各浏览器

    描述 本文主要是针对Chrome 62 , firefox57 ,和IE11 三个版本的操作.相关的driver .可点击以下链接.所有的driver 建议放在浏览器的目录下,本文中所有的driver ...

  8. Selenium webdriver 操作IE浏览器

    V1.0版本:直接新建WebDriver使用 import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetE ...

  9. 【转】通过js获取系统版本以及浏览器版本

    function getOsInfo() { var userAgent = navigator.userAgent.toLowerCase(); var name = 'Unknown'; var ...

  10. Selenium WebDriver的多浏览器测试

    1. IE浏览器,需要配合下载IEDriverSever.exe的驱动程序,目前selenium支持IE9以上. (驱动程序下载链接:https://pan.baidu.com/s/1YpaUsIs1 ...

随机推荐

  1. OpenHarmony轻松玩转GIF数据渲染

    OpenAtom OpenHarmony(以下简称"OpenHarmony")提供了Image组件支持GIF动图的播放,但是缺乏扩展能力,不支持播放控制等.今天介绍一款三方库--o ...

  2. HDC2021技术分论坛:分布式调试、调优能力解决方案

    作者:yangjianwei 华为高级工程师 HarmonyOS致力于提供1+8+N智慧全场景解决方案,打造设备流转.多端协同的分布式体验,实现一次开发.多端部署,让分布式应用的开发更加简单. 针对分 ...

  3. Vue 数据更新但页面没有更新的 7 种情况,你遇到过几种

    1. Vue 无法检测实例被创建时不存在于 data 中的 property 原因:由于 Vue 会在初始化实例时对 property 执行 getter/setter 转化,所以 property ...

  4. HBuilderX 连接网易mumu手机模拟器进行App开发

    1.下载安装手机模拟器 常见的安卓手机模拟器: 手机模拟器名称 对应端口号 夜神模拟器 62001 天天模拟器 6555 海马玩模拟器 26944 逍遥模拟器 21503 网易mumu模拟器 7555 ...

  5. 树莓派和esp8266之间使用tcp协议通信

    树莓派代码: from flask import Flask, render_template import socket import threading app = Flask(__name__) ...

  6. 力扣451(java)-根据字符出现频率排序(中等)

    题目: 给定一个字符串 s ,根据字符出现的 频率 对其进行 降序排序 .一个字符出现的 频率 是它出现在字符串中的次数. 返回 已排序的字符串 .如果有多个答案,返回其中任何一个. 示例 1: 输入 ...

  7. 力扣24(java&python)-两两交换链表中的节点(中等)

    题目: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换) 示例 1: 输入:head = [1,2,3,4] 输出:[ ...

  8. 力扣263(java)-丑数(简单)

    题目: 丑数 就是只包含质因数 2.3 和 5 的正整数. 给你一个整数 n ,请你判断 n 是否为 丑数 .如果是,返回 true :否则,返回 false . 示例 1: 输入:n = 6输出:t ...

  9. HarmonyOS NEXT应用开发实战—组件堆叠

    介绍 本示例介绍运用Stack组件以构建多层次堆叠的视觉效果.通过绑定Scroll组件的onScroll滚动事件回调函数,精准捕获滚动动作的发生.当滚动时,实时地调节组件的透明度.高度等属性,从而成功 ...

  10. 开箱即用!Linux 内核首个原生支持,让你的容器体验飞起来!| 龙蜥技术

    简介: 本文将从 Nydus 架构回顾.RAFS v6 镜像格式和 EROFS over Fscache 按需加载技术三个角度来分别介绍这一技术的演变历程. 文/阿里云内核存储团队,龙蜥社区高性能存储 ...