1、元素操作
1.1、为什么要学习元素操作的方法?
1、需要让脚本模拟用户给指定元素输入值;
2、需要让脚本模拟认为删除元素;
3、需要让脚本模拟点击操作;
1.2、元素常用操作方法
点击操作: element.click() element表示的是元素对象;
输入操作: element.send_keys(“value”) element表示的是元素对象,value表示要输入的内容;
清除操作: element.clear() element表示的是元素对象,将输入框里面的内容全部清除;
driver.find_element(By.ID,'kw').send_keys('百度一下,你就知道')
driver.find_element(By.ID,'su').click()
2、浏览器操作
通过调用Selenium的API来实现浏览器的操作。
2.1、浏览器常用操作方法
1、maximize_window() 窗口最大化–>模拟浏览器最大化按钮;
2、set_window_size(width, height) 设置浏览器宽度、高度–>设置浏览器的宽、高(像素);
3、set_window_position(x,y) 设置浏览器窗口位置–>设置浏览器位置;
- x,y是一个坐标点,通过此坐标点来确定浏览器左上角的位置,以此来确定浏览器在屏幕上的位置;
- x,y的大小不能超过屏幕的分辨率大小;
2.2、浏览器其他操作方法
1、back(): 后退–>模拟浏览器后退按钮
2、forward(): 前进–>模拟浏览器前进按钮
3、refresh() : 刷新–>模拟浏览器F5刷新;
4、close() : 关闭当前窗口–>模拟点击浏览器关闭按钮;
5、quit(): 关闭浏览器驱动对象–>关闭整个浏览器;
6、title 获取页面title
print(driver.title)
7、current_url 获取当前页面URL
print(driver.current_url )
3、获取元素信息
参考链接:
https://blog.csdn.net/yutian8233/article/details/117709118?spm=1001.2014.3001.5501
3.1、为什么要学习获取元素信息?
主要是为了获取相关的信息进行断言。
1、如何获取元素的文本?
2、如何获取元素的属性值?
3、如何判断某个元素是否是可见状态?
3.2、获取元素的常用方法
1、size 返回元素大小;
2、text 返回元素的文本;
3、get_attribute(“xxx”) 返回元素的属性值,传递的参数为元素的属性名;
4、is_displayed() 判断元素是否可见;
5、is_enabled() 判断元素是否可用
6、is_selected() 判断元素是否被选中,用来检查单选框或者复选框内容是否被选中;
4、鼠标和键盘操作
4.1、鼠标操作
selenium提供鼠标操作的方法及步骤。常见的鼠标操作:点击、右击、双击、悬停、拖拽
4.1.1、鼠标操作实现方式
通过ActionChains实例化对象:
action = ActionChains(driver) #drvier表示浏览器驱动;
方法:
1、context_click(element) 右击-->模拟鼠标右击效果;
2、double_click(element) 双击-->模拟鼠标双击效果;
3、drag_and_drop(source,target) 拖动-->模拟鼠标拖动效果;
4、move_to_element(element) 悬停-->模拟鼠标悬停效果;
5、.perform() 执行-->此方法用来执行所有的鼠标操作;
调用鼠标的事件方法:
调用鼠标的执行方法:
4.1.2、鼠标右击方式
右击操作的实现步骤:
- 创建鼠标对象:action = ActionChains(driver);
- 调用右击事件:action.context_click(element)
- 调用鼠标执行事件:action.perform()
4.1.3、鼠标双击方式
双击操作的实现步骤:
- 创建鼠标对象:action = ActionChains(driver);
- 调用双击事件:action.double_click(element)
- 调用鼠标执行事件:action.perform()
4.1.4、鼠标拖动方式
拖拽操作的实现步骤:
- 创建鼠标对象:action = ActionChains(driver);
- 调用拖拽事件:action.drag_and_drop(source,target)
- 调用鼠标执行事件:action.perform()
4.1.5、鼠标悬停方式
悬停操作的实现步骤:
- 创建鼠标对象:action = ActionChains(driver);
- 调用悬停事件:action.move_to_element(element)
- 调用鼠标执行事件:action.perform()
4.1.6、鼠标单元素拖动操作
应用场景:滑块拖动操作验证码等
鼠标单元素拖动实现步骤:
- 创建鼠标对象:action = ActionChains(driver);
- 调用单元素拖动事件:action.drag_and_drop_by_offset(x,y,element) #x、y表示元素拖动时横向和纵向移动的距离,单位为像素。element表示的是元素对象;
- 调用鼠标执行事件:action.perform()
4.2、键盘操作
模拟键盘上面的快捷键的操作;
调用键盘操作的快捷键的方法 element.send_keys(快捷键的键值)
4.2.1、Keys类
#导入Keys类
from selenium.webdriver.common.keys import Keys
4.2.1、常用的键盘操作
1、send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
2、send_keys(Keys.SPACE) 空格键(Space)
3、send_keys(Keys.TAB) Tab键(Tab)
4、send_keys(Keys.ESCAPE) 回退键(Escape)
5、send_keys(Keys.ENTER) 回车键(Enter)
6、send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
7、send_keys(Keys.CONTROL, Keys.SHIFT,'a') 剪切(Ctrl+Shift+A)