当前位置: 首页 > article >正文

Selenium+Python自动化测试环境搭建

1. 什么是Selenium

        Selenium主要用于web应用程序的自动化测试,但并不局限于此,它还支持所有基于web的管理任务自动化。

2、selenium 自动化流程如下:

  1. 自动化程序调用Selenium 客户端库函数(比如点击按钮元素)
  2. 客户端库会发送Selenium 命令 给浏览器的驱动程序
  3. 浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令
  4. 浏览器执行命令
  5. 浏览器驱动程序获取命令执行的结果,返回给我们自动化程序
  6. 自动化程序对返回结果进行处理

3、Selenium环境的安装主要就是安装两样东西: 客户端库 和 浏览器驱动

1)安装客户端命令

        使用快捷键win+r输入cmd打开命令行程序

        输入命令:

pip install selenium

可能会遇到的问题

        1. 版本太低   

        使用命令查看pip版本,命令:

pip -V

        2. 升级命令:python -m pip install --upgrade pip

        3. 验证升级成功,再次使用pip show pip命令查看pip版本。

pip show pip

         4. 输入下面语句修复pip

python -m ensurepip

        5. 然后再升级pip版本

2)安装浏览器驱动

        浏览器驱动 是和 浏览器对应的。 不同的浏览器 需要选择不同的浏览器驱动。目前主流的浏览器中,谷歌 Chrome 浏览器对 Selenium自动化的支持更加成熟一些。

        推荐大家使用 Chrome浏览器 。

        1. 用命令chrome://version查看谷歌版本

        2. 下载浏览器驱动,浏览器驱动必须和浏览器版本匹配

        比如:当前Chrome浏览器版本是105, 通常就需要下载105开头的目录里面的驱动程序 。

        注意:驱动和浏览器的版本号越接近越好,但是略有差别,通常也没有什么问题。

        注意:兄弟们,下载chromedriver_win32.zip,并解压放到Chrome谷歌的安装目录下,默认安装目录为:C:\Program Files\Google\Chrome\Application\

实现一个简单的自动化脚本

1、打开PyCharm,编写以下脚本
from selenium import webdriver    # 导入webdriver包
from selenium.webdriver.chrome.service import Service
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(service=Service(r'd:\tools\chromedriver.exe')) 
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址 
wd.get('https://www.baidu.com')
2、省略浏览器驱动路径

        前面,我们的代码创建 WebDriver对象时,需要指定浏览器驱动路径,比如

from selenium.webdriver.chrome.service import Service
wd = webdriver.Chrome(service=Service(r'd:\tools\chromedriver.exe'))

        将浏览器驱动所在目录加入环境变量Path, 写代码时,就可以无需指定浏览器驱动路径了,像下面这样

wd = webdriver.Chrome()

        因为,Selenium会自动在环境变量 Path 指定的那些目录里查找名为chromedriver.exe 的文件。

      一定要注意的是,加入环境变量 Path 的,不是浏览器驱动全路径,比如 C:\Program Files\Google\Chrome\Application\chromedriver.exe

        而是 浏览器驱动所在目录,比如 C:\Program Files\Google\Chrome\Application

        注意:配置环境变量后,记得重启

        注意:若导包错误,安装了selenium库,可是在导入的时候,仍然提示selenium库不存在。

        这种情况可能使Pycharm中Project Interpreter环境问题

        通过file->setting进入修改,如下图对应位置,点击左边的+好,将其指向本机的python环境即可

         其中,下面这行代码,就会运行浏览器驱动,并且运行Chrome浏览器

wd = webdriver.Chrome(service=Service(r'd:\tools\chromedriver.exe'))

        注意,等号右边 返回的是 WebDriver 类型的对象,我们可以通过这个对象来操控浏览器,比如 打开网址、选择界面元素等。
        而下面这行代码,就是使用 WebDriver 的 get 方法 打开网址 百度

wd.get('https://www.baidu.com')

        执行上面这行代码时,自动化程序就发起了 打开百度网址的 请求消息 ,通过浏览器驱动, 给 Chrome浏览器。

        Chome浏览器接收到该请求后,就会打开百度网址,通过浏览器驱动, 告诉自动化程序 打开成功。


http://www.kler.cn/news/289064.html

相关文章:

  • SAP自动化操作
  • L1-084 拯救外星人
  • Python 数据分析— Pandas 基本操作(上)
  • SprinBoot+Vue健康管管理微信小程序的设计与实现
  • 代码随想录训练营day51|图论part2
  • 解锁.NET安全奥秘:敏感数据加密与哈希的深度揭秘
  • C++系列-const所有用法总结
  • HALCON 错误代码 #7709
  • python-简单的dos攻击
  • 第十四章 rust集合库介绍
  • Mybatis【分页插件,缓存,一级缓存,二级缓存,常见缓存面试题】
  • 【HarmonyOS】模仿个人中心头像图片,调用系统相机拍照,从系统相册选择图片和圆形裁剪显示 (二)
  • 免费升级https访问
  • Vue3 reactive和ref
  • Chapter 07 watch侦听器
  • 【Next】1. 初识服务端渲染
  • OpenHarmony如何切换横竖屏?
  • 科研绘图系列:R语言富集火山图和通路图(volcano plot pathway)
  • 实现流程化办公,可专注于开源可视化报表设计器!
  • F12抓包01:启动、面板功能介绍、语言设置、前端样式调试
  • 【#第三期实战营闯关作业 ## MindSearch在 Hugging FaceSpace的部署】
  • 缓存解决方案。Redis 和 Amazon ElastiCache 比较
  • lit-llama代码解析
  • 【C++ 面试 - STL】每日 3 题(五)
  • 解读GaussianTalker:利用音频驱动的基于3D高斯点染技术的实时高保真讲话头像合成
  • Idea_服务器自动化部署_傻瓜式教程
  • MySQL中的分组统计
  • 云计算环境下的数据治理
  • 学习之git
  • 算法设计:实验二贪心算法