ActionChains类(鼠标操作)常用于模拟鼠标的行为,比如单击、双击、拖拽等行为。

一些常用的模拟鼠标的操作方法有:

click(on_element=None)     --- 鼠标单击

double_click(on_element=None)    ---  双击

context_click(on_element=None)   ---  右击

click_and_hold(on_element=None)   ---  鼠标单击并且按住不放

drag_and_drop(source,target)   ---  拖拽

drag_and_drop_by_offset(source,xoffset,yoffset)   ---  将目标拖动到指定的位置

key_down(value,element=None)  ---  按下某个键盘上的键

key_up(value,element=None)   ---  松开某个键

move_by_offset(xoffset,yoffset)   ---  鼠标从当前位置移动到某个坐标

move_to_element(to_element)   ---  鼠标移动到某个元素

move_to_element_with_offset(to_element,xoffset,yoffset)   ---  移动到距某个元素(左上角坐标)多少距离的位置

perform()    ---  执行链中的所有动作

release(on_element=None)   ---  在某个元素位置松开鼠标左键

下面看一些例子:

单击、双击、右击  -----  实例 

拖拽 ------ 实例

按键  ---  实例   这里是用ActionChains类提供的几个模拟按键的方法

 鼠标移动  -----  实例

-----------------------------------------------------------------------------------------------------------------------------------------

Keys类(键盘操作):

selenium提供了一整套的模拟键盘操作事件,需要先导入键盘模块  from selenium.webdriver.common.keys import Keys

* 模拟按键有多种方法,能用win32api来实现,能用SendKeys来实现,也可以用selenium的WebElement对象的send_keys方法来实现。

* 模拟ENTER键,可以用send_keys(Keys.ENTER)

* CONTROL可以和其他键组合,实现复制、粘贴、剪切等功能

* SPACE可用来选中check box或者radio button

常用的键盘操作方法有:

① send_keys(Keys.CONTROL,'c')     复制

② send_keys(Keys.CONTROL,'v')     粘贴

③ send_keys(Keys.CONTROL,'a')     全选

④ send_keys(Keys.CONTROL,'x')     剪切

⑤ send_keys(Keys.F1')         键盘F1到F12

如下为简单例子实现:

Selenium之ActionChains类、Keys类的更多相关文章

  1. python selenium(键盘事件 Keys 类)

    1.导入Keys类 from selenium.webdriver.common.keys import Keys Keys.BACK_SPACE  删除输入框内结尾的单个字符 Keys.SPACE  ...

  2. Python_selenium_WebDriver API,ActionChains鼠标, Keys 类键盘

    WebDriver 提供的八种定位方法: find_element_by_id() find_element_by_name() find_element_by_class_name() find_e ...

  3. selenium - webdriver - Keys类(键盘操作)

    Keys()类提供了键盘上几乎所有按键的方法,这个类可用来模拟键盘上的按键,包括各种组合键,如 Ctrl+A, Ctrl+X,Ctrl+C, Ctrl+V 等等 from selenium impor ...

  4. ActionsChains类鼠标事件和Keys类键盘事件

    一.鼠标事件 如,移动.点击.释放.单击.右击,拖动等 键盘事件如:输入.回车.粘贴.复制.剪贴等 使用ActionsChains类和Keys类之前都必须先导入       from selenium ...

  5. Selenium之ActionChains(一)

    今天,分享的是ActionChains的使用方法. 先来说一下今天要用到的方法: click(element=null)                                 点击元素,参数 ...

  6. 自定义MVC框架之工具类-模型类

    截止目前已经改造了5个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 自定义MVC框架之工具类-图像处理 ...

  7. WebDriverWait类以及类常用的方法

    WebDriverWait类提供了显式等待和隐式等待,显式等待的等待时间是固定的,固定了10s就必须等待10s,隐式等待的等待时间是个范围,例如最大10s,那么如果在3s的时候程序达到预期的结果,那么 ...

  8. 初识UML类图--类之间关系

    前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...

  9. [.net 面向对象编程基础] (9) 类和类的实例

    [.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...

随机推荐

  1. 列转行pivot函数在SQL Sever里面和Oracle里面的用法区别

    首先pivot是一个列转行的函数,反向用是unpivot(行转列). 在SQL sever中可以这么写 SELECT * FROM [TABLE] /*数据源*/ AS A PIVOT ( MAX/* ...

  2. Java枚举——枚举的作用、使用方法、使用场景

    枚举的定义 枚举关键字enum 枚举类是一种特殊类,它和普通类一样可以使用构造器.定义成员变量和方法,也可以实现多个接口,但不能继承类. 枚举的使用 enum Color { RED, BLUE, G ...

  3. Comet OJ - Contest #10 C题 鱼跃龙门

    ###题目链接### 题目大意: 给你一个 x ,让你求出最小的正整数 n 使得 n * (n + 1) / 2  % x == 0 ,即 n * (n + 1)  % 2x == 0 . 分析: 1 ...

  4. spark-Worker内部工作流程

  5. MySQL数据库的10大经典错误案例

    学习任何一门技术的同时,其实就是自我修炼的过程.沉下心,尝试去拥抱数据的世界! 案例一 Too many connections (连接数过多,导致连接不上数据库,业务无法正常进行) 问题还原: 解决 ...

  6. spring 工具类大集合

    接以前的文章 apache-commons 常用工具类 和文章 apache-commons 工具类扩展 小家 Spring 对 spring 的工具类做了详细的介绍(一) 这里我抽出一些好用的类,不 ...

  7. elementui 模态框 拖动

    第一步引入import elDragDialog from "@/directive/el-dragDialog";第二步 在export default中声明directives ...

  8. Openlayers Projection导致经纬度颠倒问题

    问题: openlayers3调用TileWMS接口,实现Openlayers加载Geoserver转发的ArcGIS切片时,web墨卡托(wkid3857)没有问题,但是WGS84(wkid4326 ...

  9. Python中lambda的使用,与它的三个好基友介绍!

    匿名函数lambda 除了def语句,python还提供了一种生成函数对象的表达式形式.由于它与LISP语言中的一个工具类似,所以称为lambda. 就像def一样,这个表达式创建了一个之后能够调用的 ...

  10. 【论文阅读】Deep Mutual Learning

    文章:Deep Mutual Learning 出自CVPR2017(18年最佳学生论文) 文章链接:https://arxiv.org/abs/1706.00384 代码链接:https://git ...