欢迎来到啊妮莫的学习小屋🎉
个人主页🎪: 啊妮莫的学习小屋
收录专栏📚: 软件测试
本文是UI自动化测试保姆级教程①的续篇, 如果还没有看过的小伙伴可以点击链接跳转哦~
话不多说, 让我们一起开始学习吧!😋
目录
元素操作方法
元素常用操作方法
1. click() 单击元素
2. send_keys(value) 模拟输入
3. clear() 清除文本
代码示例:
'''
元素操作方法
'''
from time import sleep
# 1.导入模块
from selenium import webdriver
from selenium.webdriver.common.by import By
# 2. 实例化浏览器对象
driver=webdriver.Chrome()
# 3. 打开页面
driver.get('file:///D:/%E6%B3%A8%E5%86%8C%E9%A1%B5%E9%9D%A2.html')
'''
需求:
1. 输入用户名admin, 密码123456 电话18100000000 邮箱123@qq.com
2. 间隔3s, 修改电话18145678901
3. 间隔3s, 点击注册按钮
'''
driver.find_element(By.ID,'userA').send_keys('admin')
driver.find_element(By.ID,'passwordA').send_keys('123456')
tel=driver.find_element(By.ID,'telA')
tel.send_keys('18100000000')
driver.find_element(By.NAME,'emailA').send_keys('123@qq.com')
# 修改tel
sleep(3)
'''
注意: 在执行修改操作前需要清空输入框
'''
tel.clear()
tel.send_keys('18145678901')
sleep(3)
driver.find_element(By.CSS_SELECTOR,'button').click()
# 4. 展示效果
sleep(3)
# 5. 退出浏览器
driver.quit()
动图演示效果:
注意:
当需要修改某个输入框值的时候, 应当先执行 clear 操作.
浏览器操作方法
1. maximize_window() 最大化浏览器窗口
2. set_window_size(width, height) 设置浏览器窗口大小
3. set_window_position(x,y) 设置浏览器窗口位置
4. back() 后退
5. forward() 前进
6. refresh() 刷新
7. close() 关闭当前窗口
8. quit() 关闭浏览器驱动对象
9. title 获取页面title
10. current_url 获取当前页面URL
窗口大小与位置操作✨
代码示例:
'''
浏览器操作01: 窗口大小与位置
'''
from time import sleep
# 1. 导入模块
from selenium import webdriver
# 2. 实例化浏览器对象
driver=webdriver.Chrome()
# 3. 打开页面
driver.get('file:///D:/%E6%B3%A8%E5%86%8C%E9%A1%B5%E9%9D%A2.html')
'''
1. 窗口最大化[重点]
2. 窗口缩小为(400,400)
3. 设置窗口位置(0,100)
'''
# 全屏显示页面, 可以尽可能多的加载页面元素, 提高可定位性
driver.maximize_window()
sleep(2)
driver.set_window_size(400,400)
sleep(2)
driver.set_window_position(0,100)
# 4. 观察效果
sleep(3)
# 5. 关闭浏览器对象
driver.quit()
动图演示效果:
注意:
driver.maximize_window()是一个常用操作, 全屏显示页面, 可以加载更多的页面元素, 提高可定位性;
该操作常常在定位元素之前.
扩展: 页面布局坐标示意
窗口后退/前进/刷新操作✨
代码示例:
'''
Web 自动化基本代码
'''
from time import sleep
# 1.导入模块
from selenium import webdriver
from selenium.webdriver.common.by import By
# 2.实例化浏览器对象
driver = webdriver.Chrome() # 谷歌浏览器
# 3.打开网页: 必须包含协议头
driver.get("https://leetcode.cn/")
# 全屏
driver.maximize_window()
driver.find_element(By.XPATH,'//*[@id="leetcode-navbar"]/div[1]/ul/li[3]/a').click()
sleep(2)
# 后退
driver.back()
# 前进
sleep(2)
driver.forward()
# 刷新
sleep(2)
driver.refresh()
# 4.观察效果
sleep(3)
# 5.关闭网页: 不用close
driver.quit()
动图演示效果:
注意:
其中refresh()刷新操作是重新向服务器发起当前页面的请求.
关闭/退出/获取页面标题和URL地址
代码示例:
'''
Web 自动化基本代码
'''
from time import sleep
# 1.导入模块
from selenium import webdriver
from selenium.webdriver.common.by import By
# 2.实例化浏览器对象
driver = webdriver.Chrome() # 谷歌浏览器
# 3.打开网页: 必须包含协议头
driver.get("https://www.runoob.com/")
driver.set_window_position(50, 50)
'''
close() 关闭当前窗口 --> 模拟点击浏览器关闭按钮
quit() 关闭浏览器驱动对象 --> 关闭所有程序启动的窗口
title 获取页面title
current_url 获取当前页面URL
'''
driver.find_element(By.LINK_TEXT, '菜鸟工具').click()
print("浏览器对象所在页面\n标题:" + driver.title)
print("URL:" + driver.current_url)
sleep(2)
driver.close()
# 4.观察效果
sleep(3)
# 5.关闭网页: 不用close
driver.quit()
输出结果:
浏览器对象所在页面
标题:菜鸟教程 - 学的不仅是技术,更是梦想!
URL:https://www.runoob.com/
动图演示效果:
注意:
在没有实现浏览器页面切换操作之前, close() 方法关闭的是原始页面.