【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver

news2024/12/23 4:38:55

      之前讲到基于python的自动化测试环境,需要安装Python,再安装Selenium。具体可看【如何学习Python自动化测试】—— 自动化测试环境搭建
      但是,想要使用Selenium发送指令模拟人类行为操作浏览器,就需要安装浏览器驱动。不同的浏览器需要安装各自的驱动。
      具体步骤(chrome举例): 可直接跳转至本文【3.Chrome浏览器驱动器chromedriver的安装】。

1. Python的安装和配置

      验证Python是否安装成功
在这里插入图片描述

2.Selenium的安装和配置

(1) 安装selenium

      在命令行窗口输入 pip install selenium命令安装selenium
在这里插入图片描述

(2)验证selenium是否安装成功

      在命令行窗口输入 pip show selenium验证selenium安装是否成功。

在这里插入图片描述

3.Chrome浏览器驱动器chromedriver的安装

(1)查看Chrome版本

       从Chrome浏览器右上角的菜单中选择【关于Google Chrome(G)】,查看浏览器的版本,从而得出自己机器上Chrome的版本。
在这里插入图片描述

(2)下载chromedriver.exe

Chrome 115之前的版本

       可以从https://chromedriver.storage.gooleeapis.com/index.html下载,如果访问失败,可以使用淘宝镜像地址:https://npm.taobao.org/mirrors/chromedriver/。选择对应的版本号进入,如果没有对应的,就选择最相近的版本号。然后根据自己的系统选择对应的zip文件进行下载。如系统是win32,就选择chromedriver_win32.zip。


       如图:因为由(1)查看Chrome版本可知现在我的Chrome的版本为110.0.5481.178,最近的chromedriver版本号为110.0.5481.77,我的电脑为window(64位),选择chromedriver_win32.zip。
在这里插入图片描述



更新driver

      Google Chrome经常会自动更新版本,可能你前段时间还是版本a,现在再次看会发现Chrome已是最新版本b。在这个时候运行一个web自动化测试脚本时,报了如下的错误,Message: session not created: This version of ChromeDriver only supports Chrome version 110
      意思就是: 你的ChromeDriver(Chrome驱动器)版本只能维持 Chrome(谷歌浏览器)110版本的,而我当前的Chrome 版本是 113.0.5672.64,路径***** 。
在这里插入图片描述

这个问题的解决办法也很简单,有两种办法:
      第一种:换浏览器(别的浏览器可能还未更新)
      第二钟:换ChromeDirver驱动,安装新的ChromeDirver驱动,具体步骤:(1)查看Chrome版本(2)下载chromedriver.exe(3)打开chromedriver.exe存放位置,将新的chromedriver.exe代替旧的chromedriver.exe。


Chrome 115之后的版本

      和之前一样的报错Message: session not created: This version of ChromeDriver only supports Chrome version 113 Current browser version is 119.0.6045.160 with binary该报错提示,当前的driver只支持113版本的Chrome浏览器,但是我的Chrome已经自动更新到119版本了,我们要想运行脚本,就要更新driver,把driver更新到119。
      但是,当访问了之前下载镜像的网站,结果发现没有119版本的driver可以下载,最多只到114版本,如下图:
在这里插入图片描述
      去官网上进行查看:chromedriver官网
在这里插入图片描述
      官网发了新的通知,并给了新的Chromedriver下载地址Chromedriver下载地址,我们可以在这个网址下载对应版本的Chromedriver,如下图:
在这里插入图片描述
      复制链接直接下载即可,下载完成之后,解压拖入之前driver所在的文件夹即可使用,完成之后,再次运行脚本,运行即恢复正常。



(3)配置环境

      下载完成了,将chromedriver.exe的路径添加到环境变量Path中。
在这里插入图片描述
      chromedriver.exe存放位置:
在这里插入图片描述

(4)使用WebDriver

      打开命令行窗口,依次执行下面操作:
            (1) 输入“python”
在这里插入图片描述

            (2) 输入“from selenium import webdriver”
在这里插入图片描述

            (3) 输入“driver = webdriver.Chrome()”
在这里插入图片描述

            (4) 输入“driver.get(“https://www.baidu.com”)”
在这里插入图片描述
在这里插入图片描述

            (5) 输入“driver.quit()”退出浏览器

在这里插入图片描述
      上面一系列的操作,可以验证chromedriver和所使用的浏览器版本是否匹配,是否安装成功。


浏览器驱动

1.Chrome

115之前的版本:

  • Chrome浏览器驱动chromedriver驱动官方
    在这里插入图片描述

  • 淘宝镜像地址
    在这里插入图片描述

115之后的版本 :

  • Chromedriver下载地址
    在这里插入图片描述
  • 谷歌历史版本

在这里插入图片描述

2.IE

  • IE浏览器驱动IEDriverServer

在这里插入图片描述

3.Edge

  • Edge浏览器驱动MicrosoftWebDriver
    在这里插入图片描述

4.Firefox

  • 火狐浏览器历史版本

在这里插入图片描述

  • geckodriver驱动
    在这里插入图片描述

5.Opera

  • Opera浏览器驱动operadriver
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1261247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用python实现kindle文件转换pdf

上一篇文章讲了下用工具转换相关的格式:https://blog.csdn.net/weixin_42019349/article/details/134654695 今天来分享一个python库实现上述功能,实现文件转换自由 ^_^ 主角就是pypandoc库 # 安装方式 pip install pypandoc# pypandoc主要有三个函数…

从0开始学习JavaScript--JavaScript对象封装

JavaScript中的对象封装是一种重要的编程概念,它允许将数据和方法组织成一个独立的单元,实现了数据的保护和抽象。本文将深入探讨JavaScript对象封装的原理、实践和最佳实践。 封装的基础概念 封装是面向对象编程的基础概念之一,它强调将数…

文本三剑客(grep,awk,sed)

一.正则表达式 注意事项:使用正则表达式必须加引号。 元字符 表示字符 ① . :在正则表达式中.表示任意单个字符。 [rootpc1 data]#grep -o r.t /etc/passwd #过滤passwd文件中开头为r中间任意单个字符结尾为t的内容 rat rat rat [rootpc1 data]#g…

oracle impdp 导入元数据表空间异常增大的解决办法

expdp导出的时候指定了contentsmetadata_only只导出元数据,但是在impdp导入到新库的时候,发现新库的表空间增长非常大,其实这个直接就可以想到,应该是大表的initial segment过大导致的 正常impdp,在执行创建表和索引的…

DM8数据库版本升级

DM数据库版本升级说明 DM数据库的版本一直在不断的的迭代。 对于DM 的数据库版本,分大版本和小版本。 1)大版本:指DM6,DM7,DM8 这种。2)小版本:指同一个大版本子版本的变化,比如DM8的:8.1.0.1…

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。

假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,“loading”,“being”的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为 data ne…

在ubuntu系统安装SVN服务端,并通过客户端进行远程访问

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

浅谈基于EIoT能源物联网的工厂智能照明系统应用改造

【摘要】:随着物联网技术的发展,许多场所针对照明合理应用物联网照明系统,照明作为工厂的重要能耗之一,工厂的照明智能化控制,如何优化控制、提高能源的利用率,达到节约能源的目的。将互联网的技术应用到工…

使用jenkins和tomcat创建并部署maven项目

准备三台服务器: 192.168.58.139 部署tomcat 详细参照:http://t.csdnimg.cn/Yp2z2 192.168.58.140 部署gitlab 详细参照:http://t.csdnimg.cn/Sb1uz 192.168.58.153 部署Jenkins 详细参照…

AT89S52单片机------中断系统

目录 单片机的内部结构 中断请求标志寄存器 (1)TCON寄存器 (2)SCON寄存器 (3)定时器2的控制寄存器T2CON 中断允许与中断优先级的控制寄存器 中断允许寄存器IE 中断优先级寄存器IP 响应中断请求的条件 外部中断响应时间 外部中断的触发方式选择 中断请求的撤销 1.定…

小程序域名SSL证书的重要性

1. 数据安全 小程序中可能涉及用户的个人信息、支付信息等敏感数据,而未加密的通信容易受到中间人攻击。通过使用SSL证书,所有数据在传输过程中都会被加密,确保用户信息不被窃取或篡改。 2. 用户信任 浏览器和操作系统对使用SSL证书的网站…

【java】编译时bug 项目启动前bug合集

文章目录 1. jdk8中 Optional orElseThrow 编译时报错java: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出2. 启动项目时提示 Error running Application: Command line is too long. Shorten command line for Application or also for Spring Boot default configurati…

代码随想录算法训练营 ---第四十六天

第一题: 简介: 本题的重点在于确定背包容量和物品数量 确定dp数组以及下标的含义 dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。 2.确定递推公式 如果确定dp[j] 是true,且…

Arch Linux 安装 dwm 窗口管理器

窗口管理器是管理桌面上各种窗口的组件,主要功能有:窗口堆叠方式,窗口移动规则等。大多数人接触到的是堆叠式窗口管理器,一个窗口可以叠放在其他窗口之上,调整窗口的主要方式是鼠标。而dwm(Dynamic Window …

32 - MySQL调优之事务:高并发场景下的数据库事务调优

数据库事务是数据库系统执行过程中的一个逻辑处理单元,保证一个数据库操作要么成功,要么失败。谈到他,就不得不提 ACID 属性了。数据库事务具有以下四个基本属性:原子性(Atomicity)、一致性(Con…

深入了解PBKDF2加密技术:原理与实践

摘要:本文详细介绍了PBKDF2(Password-Based Key Derivation Function 2)加密技术,包括其原理、算法流程和实际应用,旨在帮助读者更好地理解这一重要的加密方法。 PBKDF2在线加密 -- 一个覆盖广泛主题工具的高效在线平…

算法通关村第十二关-黄金挑战字符串冲刺题

最长公共前缀 描述 : 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 题目 : LeetCode 14.最长公共前缀 : 分析 : 第一种方式,我们可以竖着比较,如图所示,每前进一个位置就…

css实现鼠标移入背景图片变灰并浮现文字的效果

首先上效果图 说明一下我的html结构 如上图是一个div包裹的img标签, div的块大小width, height 自己定义, 我说明一下核心样式代码 下面写法是scss, 请自行替换 .web-query-image {position: relative; // 相对定位, 方便浮现文案进行绝对定位border-radius: 8px;box-sizing: …

MySQL安装与配置教程

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

14、矩阵键盘

矩阵键盘介绍 在键盘中按键数量越多时,为了减少I/O口的占用,通常将按键排列成矩阵形式 采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态 扫描的概念 数码管扫描(输出扫描) 原理:显示第1位—&g…