Selenium之ActionChains类、Keys类
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类的更多相关文章
- python selenium(键盘事件 Keys 类)
1.导入Keys类 from selenium.webdriver.common.keys import Keys Keys.BACK_SPACE 删除输入框内结尾的单个字符 Keys.SPACE ...
- Python_selenium_WebDriver API,ActionChains鼠标, Keys 类键盘
WebDriver 提供的八种定位方法: find_element_by_id() find_element_by_name() find_element_by_class_name() find_e ...
- selenium - webdriver - Keys类(键盘操作)
Keys()类提供了键盘上几乎所有按键的方法,这个类可用来模拟键盘上的按键,包括各种组合键,如 Ctrl+A, Ctrl+X,Ctrl+C, Ctrl+V 等等 from selenium impor ...
- ActionsChains类鼠标事件和Keys类键盘事件
一.鼠标事件 如,移动.点击.释放.单击.右击,拖动等 键盘事件如:输入.回车.粘贴.复制.剪贴等 使用ActionsChains类和Keys类之前都必须先导入 from selenium ...
- Selenium之ActionChains(一)
今天,分享的是ActionChains的使用方法. 先来说一下今天要用到的方法: click(element=null) 点击元素,参数 ...
- 自定义MVC框架之工具类-模型类
截止目前已经改造了5个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 自定义MVC框架之工具类-图像处理 ...
- WebDriverWait类以及类常用的方法
WebDriverWait类提供了显式等待和隐式等待,显式等待的等待时间是固定的,固定了10s就必须等待10s,隐式等待的等待时间是个范围,例如最大10s,那么如果在3s的时候程序达到预期的结果,那么 ...
- 初识UML类图--类之间关系
前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...
- [.net 面向对象编程基础] (9) 类和类的实例
[.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...
随机推荐
- ios遇到的坑
总结体会:很多ios兼容性问题都是由于body设置了height:100% ios中input输入不了 在ios中margin属性不起作用 设置html body的高度为百分比时,margin-bot ...
- VMware虚拟机Linux中增加磁盘空间的扩容操作
VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置.结合自己的实践,总结 ...
- 领扣(LeetCode)两个数组的交集II 个人题解
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...
- 领扣(LeetCode)设计哈希映射 个人题解
不使用任何内建的哈希表库设计一个哈希映射 具体地说,你的设计应该包含以下的功能 put(key, value):向哈希映射中插入(键,值)的数值对.如果键对应的值已经存在,更新这个值. get(key ...
- 【algo&ds】8.最小生成树
1.最小生成树介绍 什么是最小生成树? 最小生成树(Minimum spanning tree,MST)是在一个给定的无向图G(V,E)中求一棵树T,使得这棵树拥有图G中的所有顶点,且所有边都是来自图 ...
- CSS如何设置列表样式属性,看这篇文章就够用了
列表样式属性 在HTML中有2种列表.无序列表和有序列表,在工作中无序列表比较常用,无序列表就是ul标签和li标签组合成的称之为无序列表,那什么是有序列表呢?就是ol标签和li标签组合成的称之为有序列 ...
- 关于Java 值传递深度分析
首先说观点:java只有值传递没有引用传递 然后再来看看值传递与引用传递两者的定义 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改, ...
- workspaces only allow trusted client with self-signed cert
1. 生成ca. openssl genrsa -out CA_neonone.workspace.key 2048 openssl req -x509 -new -nodes -key CA_neo ...
- 在WebView中加载HTML页面时显示进度对话框的方法
webView.setWebViewClient(new WebViewClient(){ ProgressDialog prDialog; @Overri ...
- 【IntelliJ IDEA】IDEA自动生成serialVersionUID的办法
digest:实体对象实现了java.io.Serializable接口后,一般都会提供一个serialVersionUID一做版本区分.在IDEA里,可以通过一些设置,帮助我们快速生成serialV ...