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

      之前讲到基于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.hqwc.cn/news/229416.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Deep Image Prior

深度图像先验 论文链接:https://sites.skoltech.ru/app/data/uploads/sites/25/2018/04/deep_image_prior.pdf 项目链接:https://github.com/DmitryUlyanov/deep-image-prior Abstract 深度卷积网络已经成为一种流行的图像生成和恢复工具。一般来说&a…

Zip压缩包密码如何取消?有密码?无密码?

Zip压缩包可以进行加密,相信大家都很了解,那么zip压缩包取消密码,大家了解多少呢?有密码的情况下,有哪些方法可以取消密码?无密码又该如何取消密码?今天将方法总结分享给大家。 最原始的方法&a…

【古月居《ros入门21讲》学习笔记】16_tf坐标系广播与监听的编程实现

目录 说明: 1. 实现过程(C) 创建功能包(C) 创建tf广播器代码(C) 创建tf监听器代码(C) 配置tf监听器与广播器代码编译规则 编译并运行 编译 运行 2. 实现过程&a…

API网关

API网关的作用 下图显示了详细信息。 步骤 1 - 客户端向 API 网关发送 HTTP 请求。 步骤 2 - API 网关解析并验证 HTTP 请求中的属性。 步骤 3 - API 网关执行允许列表/拒绝列表检查。 步骤 4 - API 网关与身份提供商对话以进行身份​​验证和授权。 步骤 5 - 将速率限制规…

ChatGPT到底是如何运作?

自从2022年11月30日发布以来,ChatGPT一直占据着科技届的头条位置,随着苹果的创新能力下降,ChatGPT不断给大家带来震撼,2023年11月7日,首届OpenAI开发者大会在洛杉矶举行,业界普遍认为,OpenAI的开…

Java程序连接 nacos集群

我们在bootstrap.yml文件里可以直接连一个nacos集群的. 架构如下 没错,我们程序直连的是通过Nginx的,利用nginx的反向代理来做到连接nacos集群. 我们先把nginx的配置贴上来 upstream cluster{server 127.0.0.1:8848;server 127.0.0.1:8849;server 127.0.0.1:8850; }server{l…

ACM程序设计课内实验(1)数学问题

1.The Hardest Problem Ever Description Julius Caesar生活在一个危险而又充斥着阴谋的时代。Caesar面对的最难的情况关系着他的存亡。为了让自己生存,他决心去创造第一种加密方法之一。这个加密方法听起来是这样的令人难以置信,没有一个人可以指出它&a…

基于微信小程序的爱心捐赠平台的设计与实现-计算机毕业设计源码64923

摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱, 小程序的爱心捐赠平台被用户普遍使用,为方便…

WebUI自动化学习(Selenium+Python+Pytest框架)003

1.元素操作 在成功定位到元素之后,我们需要对元素进行一些操作动作。常用的元素操作动作有: (1)send_keys() 键盘动作:向浏览器发送一个内容,通常用于输入框输入内容或向浏览器发送快捷键 (2…

[DASCTF 2023 0X401七月暑期挑战赛] web刷题记录

文章目录 EzFlask方法一 python原型链污染方法二 flask框架静态文件方法三 pin码计算 MyPicDisk方法一 字符串拼接执行命令方法二 phar反序列化 ez_cms EzFlask 考点:python原型链污染、flask框架理解、pin码计算 源码如下 import uuidfrom flask import Flask, re…

【EasyExcel实践】导出多个sheet到多个excel文件,并压缩到一个zip文件

文章目录 前言正文一、项目依赖二、封装表格实体和Sheet实体2.1 表格实体2.2 Sheet实体 三、核心实现3.1 核心实现之导出为输出流3.2 web导出3.3 导出为字节数组 四、调试4.1 构建调试用的实体类4.2 控制器调用4.3 测试结果 五、注册大数转换器,长度大于15时&#x…

游戏开发原画的设计方法

游戏原画设计是游戏开发中至关重要的一环,因为它直接影响到游戏的视觉吸引力和用户体验。以下是一些常见的游戏原画设计方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 理解游戏概念&…