web自动化05-鼠标操作

2023-10-17 09:55:30 浏览数 (2)

 鼠标操作方法

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没有提供操作菜单选项的方法;

  如果是自定义的右键菜单,则可以通过元素定位来操作菜单中的选项

代码语言:javascript复制
练习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()

说明:模拟双击鼠标左键操作

代码语言:javascript复制
练习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()

  说明: 模拟鼠标悬停在指定的的元素上

代码语言:javascript复制
练习3:打开百度首页,模拟鼠标悬停在个人头像中

0 人点赞