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

如下为简单例子实现:

最新文章

  1. Atitit java onvif 开源类库 getProfiles getStreamUri
  2. perl基础:传递hash类型参数
  3. jsp 动态包含和静态包含
  4. MVC——入门+简单的小实例
  5. surface RT app安装心得
  6. Fast特征检测
  7. C++ 推断进程是否存在
  8. 细说Ajax跨域
  9. I/O模型系列之三:IO通信模型BIO NIO AIO
  10. DCDC设计指南1
  11. vue 短信验证
  12. java.util(Date和Calendar)
  13. 记账本微信小程序开发六
  14. jquery.cookie用法及其注意点
  15. SQL开发测试使用基础
  16. Unity shader学习之Alpha Test的阴影
  17. Unity shader学习之逐像素漫反射光照模型
  18. 前端 --- 6 jQuery 初始
  19. docker namespaces
  20. ajax极简教程

热门文章

  1. [TCP] TCP协议族的学习 and TCP协议
  2. Netty学习篇⑤--编、解码
  3. Python 面向对象-上篇
  4. BeautifulSoup随笔
  5. opencv 3 core组件进阶(2 ROI区域图像叠加&图像混合;分离颜色通道、多通道图像混合;图像对比度,亮度值调整)
  6. Leetcode 25/24 - Reverse Nodes in k-Group
  7. config system setting for elasticsearch
  8. [ch02-03] 梯度下降
  9. Android中的设计模式
  10. beta week 1/2 Scrum立会报告+燃尽图 02