【Python】自动化测试工具:Selenium

简介: 【Python】自动化测试工具:Selenium

1. 什么是Selenium?

selenium:自动化测试工具,让我的程序连接到浏览器,让浏览器完成各种复杂的操作,我们直接接受最终的结果。可以:打开浏览器,然后像人一样去操作

2.环境搭建

  • 第一步:安装selenium
    pip install selenium

    image.png
  • 第二步:给Google配置Chromedriver的驱动环境
  1. 查看浏览器信息


    image.png

    确定版本号为92.0.4515.107
  2. 打开网址https://registry.npmmirror.com/binary.html?path=chromedriver/下载对应版本的驱动器

    image.png
  3. 找到对应系统的Chromedriver进行下载


    image.png
  4. 解压缩将chromedriver.exe文件下载至python解释器中
    4.1 如何查看python解释器地址?

    image.png

    我的是C:\Users\ShanJialan\anaconda3\
    之后将chromedriver.exe复制到路径里就可以了

3- 如何使用?

基础语法
  • find_element()的返回结果是一个WebElement对象,如果符合条件的有多个,默认返回找到的第一个,如果没有找到则抛出NoSuchElementException异常。
  • find_elements()的返回结果是一个包含所有符合条件的WebElement对象的列表,如果未找到,则返回一个空列表。
简易测试环境配置是否成功?

from selenium.webdriver import Chrome
web = Chrome()
web.get('http://www.baidu.com')
print(web.title)

image.png


成功!!!

4. Demo:去拉勾网输入python查看工作岗位

from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
# 操作的网页
url = 'https://www.lagou.com/'
# 打开网页
# 创建浏览器对象
web = Chrome()
web.get(url)
# 将地址选为武汉
el = web.find_element(By.XPATH,'//*[@id="changeCityBox"]/ul/li[8]/a')
el.click()
# 防止页面还没有渲染出来导致后面的找元素失败
time.sleep(1)
# 找到输入框输入'python'进行搜索
web.find_element(By.XPATH,'//*[@id="search_input"]').send_keys('python',Keys.ENTER)
items = web.find_elements(By.XPATH,'//*[@id="jobList"]/div[1]/div')
print(len(items))
for item in items:
    # // *[ @ id = "jobList"] / div[1] / div[1] / div[1] / div[1] / span / div / div[1]
    position = item.find_element(By.XPATH,'./div[1]/div[1]/span/div/div[1]/a').text
    price = item.find_element(By.XPATH,'./div[1]/div[1]/div[2]/span').text
    print(position,price)
目录
相关文章
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
320 1
|
2月前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
3月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
210 92
|
2月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
247 3
|
2月前
|
Java Python
介绍一款更好用的selenium自愈工具ReCheck
前面介绍了GUI自动化自愈工具Healenium,现在介绍另一个自愈工具ReCheck
162 7
|
2月前
|
SQL 测试技术 数据库
healenium+python+selenium
上次介绍了如何利用healenium+java+selenium来实现selenium的自愈,这次介绍如何healenium+python+selenium。关于healenium+python+selenium网上资料更少,并且甚至是错误的。在著名的书籍《软件测试权威指南中》也是有一定问题的。现在介绍如下
159 4
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
231 18
|
3月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
758 1
|
2月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
606 0
|
3月前
|
安全 测试技术 API
Python 单元测试详解
单元测试是Python开发中不可或缺的环节,能确保代码按预期运行、发现Bug、提升代码质量并支持安全重构。本文从基础概念讲起,逐步介绍Python单元测试的实践方法,涵盖unittest框架、pytest框架、断言使用、Mock技巧及测试覆盖率分析,助你全面掌握单元测试技能。
222 0

推荐镜像

更多