鼠标操作方法

 
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:打开百度首页,模拟鼠标悬停在个人头像中
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

web自动化05-鼠标操作的更多相关文章

  1. 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...

  2. Python+Selenium自动化 模拟鼠标操作

    Python+Selenium自动化 模拟鼠标操作   在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...

  3. web自动化 模拟鼠标、键盘操作

    一.鼠标操作 1.1鼠标的悬停操作,move_to_element from selenium import webdriver from selenium.webdriver.common.acti ...

  4. web自动化之键盘操作

    简单介绍下web自动化怎么触发键盘操作 按键操作 需要导入的类from selenium.webdriver.common.keys import Keys 组合键Keys.CONTROL 也就是我们 ...

  5. web自动化之鼠标事件

    鼠标操作from selenium.webdriver.common.action_chains import ActionChains通过ActionChains 类来完成鼠标操作主要操作流程:1. ...

  6. selenium自动化之鼠标操作

    在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素.那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChai ...

  7. web自动化之iframe操作

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  8. 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...

  9. 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...

  10. 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...

随机推荐

  1. NewStarCTF 公开赛 2022 RE WP

    Week 2 Re 前可见古人,后得见来者 chipher = [0x51, 0x5B, 0x4C, 0x56, 0x59, 0x4D, 0x50, 0x56, 0x54, 0x43, 0x7D, 0 ...

  2. Jan Ozer:高清直播互动场景下的硬编码如何选型?

    前言 高清直播逐渐普及,硬编码也成为大势所趋.在 RTE 2022 大会上,来自 NETINT 的 Jan Ozer 通过一系列的对比测试结果,详细分享了如何为高清直播互动场景进行硬编码的技术选型. ...

  3. Maven安装详解

    Maven Maven是apache软件基金会旗下的一个开源项目,是一款用于管理和构建Java项目的工具. Maven的作用? 先来简单介绍一下Maven的作用 (1)依赖管理 方便快捷的管理项目依赖 ...

  4. 如何获取obs视频帧的二进制数据

    前面几篇文章梳理了obs的录屏和推流流程,几条纵线整理下来,算是基本理清了obs的工作流程. 现在回到第一个目标:捕捉桌面的帧数据,用rendertarget显示并输出到UE5材质. 那么,帧数据到底 ...

  5. Java面试——Java基础

    更多内容,移步IT-BLOG 一.JAVA中的几种基本数据类型 Java语言中一共提供了8种原始的数据类型(byte,short,int,long,float,double,char,boolean) ...

  6. 基于swiper.js的异型轮播

    基于原生swiper.js的异型轮播 <div class="swiper-container" > <div class="swiper-wrappe ...

  7. java代码审计-CSRF

    0x01 前言 CSRF跨站请求伪造(Cross-site request forgery),当某个接口没有设置CSRF验证,点击了别人恶意的链接,可能会造成对这个接口发送相应的数据,造成某个数据被更 ...

  8. python获取本地ip地址1

    import socket def get_host_ip(): """ 查询本机ip地址 return: ip """ try: s = ...

  9. dfs实现

    1.思路:从图中的未访问的一个顶点开始,沿着一条路一直走到底,然后这条路尽头的节点,在从另外一条路走到底,不断递归此过程,直到所有遍历完成特点:不撞南墙不回头2.具体实现:当从一个未知的顶点出发,将这 ...

  10. 【Vue项目】尚品汇(三)Home模块+Floor模块+Swiper轮播图

    写在前面 今天是7.23,这一篇内容主要完成了Home模块和部分Search模块的开发,主要是使用了swiper轮播图插件获取vuex仓库数据展示组件以及其他信息. 1 Search模块 1.1 Se ...