1. 什么是selenium?
Selenium 是一个 Web 应用的自动化框架。通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。Selenium 的自动化原理是这样的:
selenium 自动化流程如下:
2. 安装与配置
(1) 安装客户端库
pip install selenium
(2) 安装浏览器驱动
切记:浏览器驱动 是和 浏览器对应的, 不同的浏览器 需要选择不同的浏览器驱动。
本人使用的是微软最新版推出的edge浏览器,其对应驱动的安装步骤如下:
(2.1) 安装驱动msedgedriver.exe
下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads
选择的版本一定要根据自己的浏览器版本所对应,下载下来的是一个压缩包,解压缩后即可得到一个.exe文件。
(2.2) 导入python环境
我使用的anaconda所携带的python3.6环境,直接将msedgedriver.exe 复制到环境中的scripts目录下即可。
(3) 安装edge浏览器
这个没什么好说的,可以去官网下载(慢),也可以利用第三方的平台,比如腾讯的软件管家等。
但一定要和自己安装的浏览器驱动所配对,比如我的版本:83.0.478.58(64位)
3. 测试
核心代码:
from selenium import webdriver
wd = webdriver.Edge(.exe所在目录位置)
wd.get(测试的页面url)
如果路径、版本配对、环境配置都没问题的话,edge(或者其他)浏览器就会自动的打开对应的页面。
# 基于selenium的自动化测试(模拟用户在浏览器上自动地完成某些行为)
# 主要用于web测试
# 操纵scdn二级搜索
from selenium import webdriver
wd = webdriver.Edge(r"D:\Study\tools\webdriver\edge\msedgedriver.exe")
wd.get("https://blog.csdn.net/qq_39504519")
# 搜索辽宁大学
ele = wd.find_element_by_class_name("input_search")
ele.send_keys("辽宁大学")
ele = wd.find_elements_by_xpath(r'//a[@class="btn-nobg-noborder btn-search"]/img')[0]
print(ele)
ele.click()
# wd控制新跳转的页面
for handle in wd.window_handles:
wd.switch_to_window(handle)
if "辽宁大学" in wd.title:
break
print(wd.title)
ele = wd.find_element_by_css_selector('input.input_search[type="text"]')
# 先清空ele元素中的内容
ele.clear()
# 搜索阿里巴巴
ele.send_keys("阿里巴巴\n")
# 如果想要控制 原来 的页面
# (1)
# for handle in wd.window_handles:
# wd.switch_to_window(handle)
# if "qq_" in wd.title:
# break
#(2)
# mainwindow = wd.current_window_handle
# wd.switch_to_window(mainwindow)
关于一些自动化测试的代码,给大家推荐一个selenium自动化学习的一个网站: http://www.python3.vip/tut/auto/selenium/01/