当需要模拟键盘或者鼠标操作时,Python需要使用 ActionChains 来处理,Java需要 Actions 来处理。

常用模拟鼠标的行为,比如单击,双击,拖动等。当调用 ActionChains 或者 Actions 的方法时,会将所有操作按顺序存入队列,当调用 perform() 方法时,队列中的事件会依次执行。

引入依赖

  • Python 版本
  • Java版本

实战演示

点击相关操作

下面代码中,action是模拟键盘或者鼠标的实例对象,on_element 是需要传递一个元素进去,默认值为 None。

单击指定元素,如果不指定,会单击当前光标的位置

  • Python 版本
  • Java版本

长按某个元素

  • Python 版本
  • Java版本

执行右键操作

  • Python 版本
  • Java版本

执行左键双击

  • Python 版本
  • Java版本

拖拽起始的元素到目标元素,即 source 到 target

  • Python 版本
  • Java版本

将目标拖动到指定的位置

  • Python 版本
  • Java版本

按键

使用这个方法可以方便的实现某些组合键盘事件,比如按下 ctrl+c 键。

  • Python 版本
  • Java版本

松开某个键,可以配合上面的方法实现按下 ctrl+c 并且释放

  • Python 版本
  • Java版本

其他按键请参考:7.4 特殊字符 - selenium-python中文文档

github 参考地址:selenium/keys.py at 916168f403dded05f878fe189d68c0f9152335c9 · SeleniumHQ/selenium · GitHub

移动

指定光标移动到某一个位置,需要给出两个坐标位置

  • Python 版本
  • Java版本

将鼠标移动到指定元素的位置

  • Python 版本
  • Java版本

移动鼠标到相对于某个元素的偏移位置

  • Python 版本
  • Java版本

其它

执行 ActionChains 中的操作

前面介绍的方法会将所有操作按顺序存入队列,要执行这些操作,需要调用 perform() 方法。

  • Python 版本
  • Java版本

释放按下的鼠标

  • Python 版本
  • Java版本

向焦点元素位置输入值

焦点元素:使用 tab 键,那些被选中的元素就是焦点元素。

  • Python 版本
  • Java版本

向指定的元素输入数据

  • Python 版本
  • Java版本

    

  
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/chengzi-ceba/p/16253528.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!