【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)
目录
相关文章
|
5天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
4天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
4天前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
10 2
|
6天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
27 4
|
6天前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
18 3
|
8天前
|
运维 监控 数据安全/隐私保护
自动化运维工具的设计与实现
【10月更文挑战第34天】在现代IT基础设施管理中,自动化运维工具扮演着至关重要的角色。它们不仅提高了运维效率,还确保了服务的连续性和稳定性。本文将深入探讨如何设计并实现一个自动化运维工具,从需求分析到功能实现,再到最终的测试与部署。我们将通过一个简单的代码示例来展示如何自动执行常见的运维任务,如日志清理和性能监控。文章旨在为读者提供一套完整的方法论,以便他们能够构建自己的自动化运维解决方案。
|
12天前
|
运维 监控 应用服务中间件
自动化运维:如何利用Python脚本提升工作效率
【10月更文挑战第30天】在快节奏的IT行业中,自动化运维已成为提升工作效率和减少人为错误的关键技术。本文将介绍如何使用Python编写简单的自动化脚本,以实现日常运维任务的自动化。通过实际案例,我们将展示如何用Python脚本简化服务器管理、批量配置更新以及监控系统性能等任务。文章不仅提供代码示例,还将深入探讨自动化运维背后的理念,帮助读者理解并应用这一技术来优化他们的工作流程。
|
13天前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
15天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
17 1
|
19天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
24 1