Python+Selenium+Edge实现简单自动化测试百度搜索
安装Selenium
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
在cmd
里面使用pip install selenium
命令进行安装即可
显示Successfully installed selenium
代表安装成功,底下的WARNING提示的是有新的pip版本,询问要不要升级,用当前版本也可以用。
下载Edge浏览器驱动
在Web自动化测试,可以选择自己的浏览器加载驱动,题主使用的是Edge浏览器,所以使用
EdgeDriver
驱动
-
在地址栏查看当前的浏览器版本
edge://settings/help
打开设置页面查看,题主的Edge版本为版本 91.0.864.54 (官方内部版本) (64 位)
-
打开Edge浏览器驱动下载页面:在里面找到对应的版本号的驱动进行下载
-
将驱动导入,导入驱动有2种办法,这里题主使用第一种方法:
-
第一种:将下载的压缩包里面的
msedgedriver.exe
直接解压到python安装目录的Scripts
文件夹中即可 -
第二种:将下载的压缩包里面的
msedgedriver.exe
解压到随便一个文件夹中,然后配置path
环境变量
-
查找要使用的页面元素:
这里以百度为例
搜索栏的元素:id="kw"
搜索按钮的元素:id="su"
创建一个python文件
# 导入time,用来设置停顿时间
import time
# 导入webdriver包
from selenium import webdriver
# 加载msedgedriver驱动
driver = webdriver.Edge(executable_path='msedgedriver.exe')
# 通过get方法发送网址
driver.get("https://www.baidu.com/")
# 设置停顿在页面的秒数
time.sleep(1)
# 查找id名为kw的页面元素,模拟键盘输入值测试
driver.find_element_by_id('id', 'kw').send_keys("测试")
# 查找id名为su的页面元素,模拟鼠标进行点击
driver.find_element_by_id('id', 'su').click()
# 设置停顿在页面的秒数
time.sleep(1)
# 查找id名为kw的页面元素,进行清空搜索栏
driver.find_element_by_id('id', 'kw').clear()
# 设置停顿在页面的秒数
time.sleep(2)
# 退出测试并关闭浏览器
driver.quit()
其他查找元素:
程序中主要的操作是对元素的查找,常见的方法包括:
根据id属性查找的select_element_by_id()
根据class属性查找的select_element_by_class_name()
根据tag名称查找的select_element_by_tag_name()
根据css格式查找的select_element_by_css_selector()
根据xpath格式查找的select_element_by_xpath()
xpath可以直接使用开发者工具,复制
xpath例子:driver.find_element_by_xpath("/html/body/div[3]/div/nav/ul/li[4]/a").click()