首页 > 编程语言 >Selenium+Python自动化测试环境搭建

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

时间:2024-08-31 15:23:51浏览次数:13  
标签:webdriver 浏览器 Python Selenium Chrome pip 驱动 测试环境

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浏览器接收到该请求后,就会打开百度网址,通过浏览器驱动, 告诉自动化程序 打开成功。

标签:webdriver,浏览器,Python,Selenium,Chrome,pip,驱动,测试环境
From: https://blog.csdn.net/Play_Sai/article/details/141753074

相关文章

  • 【Python-办公自动化】1秒解决海量查找替换难题
    欢迎来到"花花ShowPython",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。自我介绍:我热衷于将复杂的技术概念以简单易懂的方式呈现给大家,......
  • 02python
    1.布尔类型和比较运算符1.1布尔(bool)类型布尔(bool)表达现实生活中的逻辑,即真和假:True表示真;False表示假。True本质上是一个数字记作1,False记作01.1.1布尔类型字面量True表示真(是、肯定)False表示假(否、否定)1.1.2定义变量存储布尔类型数据变量名称=布尔类型字面量布尔类型不......
  • A-计算机毕业设计定制:10508民大校园美食推荐系统的设计与实现(免费领源码)可做计算机毕
    摘要 随着数字化时代的到来,校园美食推荐系统的设计与实现具有重要意义。针对民大校园中商家、普通用户和管理员之间的信息交互和服务需求,开发这样一个系统能够有效促进校园内美食资源的共享和利用,提供美食介绍和美食推荐的渠道,提高校园内美食行业的服务水平,增强校园内外用户......
  • A-计算机毕业设计定制:18099居家养老服务系统(免费领源码)可做计算机毕业设计JAVA、PHP
    摘  要1绪论1.1研究背景1.2研究意义1.3主要研究内容1.4论文章节安排2 相关技术介绍2.1Node.JS编程语言2.2MySQL数据库3 系统分析3.1可行性分析3.1.1技术可行性分析3.1.2经济可行性分析3.1.3操作可行性分析3.2系统流程分析3.2.1 ......
  • [开题报告]flask框架的殡仪馆信息管理系统设计与实现(python+程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会的进步和人口老龄化的加剧,殡葬服务行业面临着前所未有的挑战与机遇。传统的手工记录与管理方式已难以满足现代殡仪馆高效、规范、......
  • [开题报告]flask框架的毕业生求职系统的设计与实现k2r16(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的普及和就业市场的日益竞争,毕业生在求职过程中面临着信息获取不对称、求职渠道有限、面试流程繁琐等挑战。传统的求职方式往......
  • MacOS 中 python无法正常使用turtle或tkinter 解决方案(备份文章)
    将以前在win机子上写的python文件拿到mac上复习时发现的问题直接运行turtle文件出现了以下报错原文:DEPRECATIONWARNING:ThesystemversionofTkisdeprecatedandmayberemovedinafuturerelease.Pleasedon’trelyonit.SetTK_SILENCE_DEPRECATION=1t......
  • 使用python基于fastapi发布接口(二)-连接mysql数据库查询数据
    上一章在这里操作MySQL数据库使用mysql-connector-python库安装mysql-connector-pythonpipinstallmysql-connector-python代码编写在原来代码基础上添加数据库连接配置fromtypingimportUnionfromfastapiimportFastAPIapp=FastAPI(......
  • [开题报告]flask框架宠物领养系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会的进步和人们生活水平的提高,宠物已逐渐成为现代家庭的重要成员,为人们的生活带来了无尽的欢乐与陪伴。然而,宠物数量的快速增长也带......
  • [开题报告]flask框架春荣公司人事管理系统设计与实现(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在当今快速发展的商业环境中,人力资源管理已成为企业核心竞争力的重要组成部分。随着企业规模的扩大和员工数量的增加,传统的人事管理方式已......