使用click()可以模拟鼠标的左键点击事件,现在的web页面中有很多其他的鼠标交互方式,比如鼠标右击、双击、悬停、鼠标拖放等功能。在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类。

导入ActionChains类

from selenium.webdriver.common.action_chains import ActionChains

ActionChains类常用的方法:

context_click():鼠标右键

double_click():鼠标双击

drag_and_drop():鼠标拖放

move_to_element():鼠标悬停

perform():执行ActionChains类中的行为,就是上面那些功能,最后都需要添加这个方法来执行

一般使用方法:ActionChains(浏览器实例).上面操作的方法(要操作的元素).perform()

鼠标右键

from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
dr = webdriver.Chrome()
dr.get('https://www.baidu.com')
xw = dr.find_element_by_link_text('新闻')
ActionChains(dr).context_click(xw).perform()

应该会在百度首页新闻那里右键

鼠标悬停

from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
dr = webdriver.Chrome()
dr.get('https://www.baidu.com')
sz = dr.find_element_by_link_text('设置')
ActionChains(dr).move_to_element(sz).perform()

应该会在百度首页设置那里悬停,要点悬停下面的按钮,应该要加个等待时间的设置。

鼠标双击和上面样例差不多。

鼠标拖放的需要传入两个元素,在第一个元素上按住鼠标左键,拖动至第二个元素上释放

最新文章

  1. 微软的R语言发行版本MRO及开发工具RTVS
  2. java.lang.UnsatisfiedLinkError: C:\apache-tomcat-8.0.21\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
  3. 解析HTML数据
  4. 使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
  5. [codeforces 509]C. Sums of Digits
  6. Java中Json用法
  7. Anacodna之conda与 virtualenv对比使用教程,创建虚拟环境
  8. codeforces D. Queue 找规律+递推
  9. 抛弃EF,20分构建一个属于自己的ORM框架
  10. map使用.xml
  11. PCB走线和过孔的过流能力
  12. 指针和Const限定符
  13. Qt5官方demo分析集29——Extending QML - Property Value Source Example
  14. Rx学习
  15. RedHat 7.0及CentOS 7.0禁止Ping的三种方法
  16. Springcloud 的Eureka和ZooKeeper比较
  17. numpy 和tensorflow 中的乘法
  18. Python_生成器函数进阶_39
  19. 环形动画加载视图AnimatedCircleLoadingView​​​​​​​
  20. mysql存储引擎的优缺点

热门文章

  1. Zookeeper+Kafka完全分布式实战部署
  2. java io系列11之 FilterOutputStream
  3. 第04篇 JDK版本导致Unsupported major.minor version 52.0 error
  4. python django基础一web框架的本质
  5. Python复习笔记(五)面向对象
  6. JS创建对象之稳妥构造函数模式
  7. java基础之自定义异常类及throw和throws的区别
  8. 【bzoj 4756】[Usaco2017 Jan] Promotion Counting
  9. VS中ipch文件夹和sdf文件的处理方式
  10. pyqt5-控件是否可用