selenium安装+基本操作
1.安装
(1)浏览器
(2)pip install selenium
(3)浏览器下载对应版本驱动
http://t.zoukankan.com/yfacesclub-p-8482681.html
下载驱动后放在Python安装目录下和Python.exe在一层
2.基本操作
(1)常用属性
driver.title 标题
driver.current_url 当前url
driver.page_source 原码
driver.current_window_handle 当前窗口
driver.window_handles 所有窗口
(2)常用方法
#访问url
driver.get("http://www.baidu.com")
# 刷新页面
driver.refresh()
# 回退
driver.back()
# 前进
driver.forward()
# 最大化
driver.maximize_window()
# 最小化
driver.minimize_window()
# 设置浏览器尺寸
driver.set_window_size(400, 300)
# 全屏
driver.fullscreen_window()
# 关闭当前窗口
driver.close()
# 关闭页面
driver.quit()
# 设置浏览器尺寸
driver.set_window_size(400, 300)
# 全屏
driver.fullscreen_window()
# 关闭当前窗口
driver.close()
WebElement元素对象
常用属性
element.tagname 获取到对象的标签名
element.parent 获取对象的父级对象
element.text 获取对象的文本
element.get_attribute("xx") 获取对象的属性值
常用方法
element.click() 点击操作
element.send_keys() 输入值
element.submit() 提交相当于enter
element.clear() 清空
find_element() 找不到元素会报错 所以要进行异常处理
find_elements() 找不到元素不会报错 返回一个空列表
自动化推荐使用find_element() 唯一定位元素
判断页面存在元素
(1)
if find_elements():
存在
else
不存在
(2)
try
find_element()
存在
except
不存在
3.执行用例
pytest xx.py 执行单文件测试用例
pytest xx.py --html=out.html 执行文件并生成报告
可能会遇到的问题
StaleElementReferenceException: Message: Element not found in the cache.等等 反正就指向找不到
原因
<selenium.webdriver.remote.webelement.WebElement (session="927eb00a039febb86c9ff165da2ae333", element="6f261b0a-e6d1-406a-aeb9-54377eb96fbd")>
<selenium.webdriver.remote.webelement.WebElement (session="927eb00a039febb86c9ff165da2ae333", element="6f261b0a-e6d1-406a-aeb9-54377eb96fbc")>
只要页面刷新就不是原来的页面了 只是长得一样元素id是不一样的 下一页 上一页 刷新 提交 enter 这些都会照成这样的问题就是原来的元素已经不在页面上了
pytest会自动关闭浏览器:pytest会监测进程,进程结束会关闭浏览器 最好手动添加driver.quit()
百度输入内容之后断言标题是成功的 :没有等待
浙公网安备 33010602011771号