web自动化05-鼠标操作
鼠标操作方法
1、常见的鼠标操作
点击、右击、双击、悬停、拖拽等
2、selenium中的封装鼠标操作
说明:在Selenium中将操作鼠标的方法封装在ActionChains类中
实例化对象:
action = ActionChains(driver)
方法:
1. context_click(element) 右击 --> 模拟鼠标右键点击效果
2. double_click(element) 双击 --> 模拟鼠标双击效果
3. drag_and_drop(source, target) 拖动 --> 模拟鼠标拖动效果
4. move_to_element(element) 悬停 --> 模拟鼠标悬停效果
5. perform() 执行 --> 此方法用来执行以上所有鼠标操作
为了更好的学习其他方法,我们先学习perform()执行方法,因为所有的方法都需要执行才能生效
3、鼠标执行操作
操作完鼠标后,不会执行,需要调用执行操作,将执行的对象放到perform方法中
强调:必须调用perform()方法才能执行鼠标事件
①鼠标右键-context_click()
点击鼠标右键,如果弹出的是浏览器默认的菜单,Selenium没有提供操作菜单选项的方法;
如果是自定义的右键菜单,则可以通过元素定位来操作菜单中的选项
练习1:打开微博页面,定位搜素框,鼠标右键 1.导包:from selenium.webdriver.common.action_chains import ActionChains 2. 实例化ActionChains对象:action = ActionChains(driver) 3. 调用右键方法:action.context_click(element) 4. 执行:action.perform()
②鼠标双击-double_click()
说明:模拟双击鼠标左键操作
练习2:打开微博页面,搜索框输入糯米团,暂停3秒钟后,双击鼠标左键,选中糯米团
③ 鼠标拖动-drag_and_drop()
说明:模拟鼠标拖动动作,选定拖动源元素释放到目标元素
拖动关键点分析:
1. 源元素 source = driver.find_element_by_id(xxx)
2. 目标元素 target = driver.find_element_by_id(xxx)
3. 调用方法 action.drag_and_drop(source, target).perform()
④鼠标悬停-move_to_element()
说明: 模拟鼠标悬停在指定的的元素上
练习3:打开百度首页,模拟鼠标悬停在个人头像中