一、ActionChains类的介绍

ActionChains模拟鼠标操作的常用方法。使用click()方法可以进行鼠标的单击操作,但是鼠标操作还包括:双击、右击、悬停、鼠标拖动等功能,所以,ActionChains类提供了鼠标的常用方法:

1、perform():执行所有ActionChains中存储的行为

2、context_click():右击

3、double_click():双击

4、move_to_element():悬停

5、drag_and_drop(source, target):拖动

二、鼠标方法的使用

导入ActionChains类:

from selenium.webdriver import ActionChains

1、鼠标悬停

import timefrom selenium import webdriver
from selenium.webdriver import ActionChainsdriver = webdriver.Chrome()
driver.get("https://www.runoob.com/html/html-tutorial.html")
driver.maximize_window()# 定位到需要悬停的元素
hover = driver.find_element("xpath","//a[text()=' HTML / CSS']")# 初始化一个ActionChains(driver)类
action = ActionChains(driver)
# 对定位的元素执行悬停操作
action.move_to_element(hover).perform()# 强制等待5s,看一下效果
time.sleep(5)# 关闭浏览器
driver.quit()

其中:

1)ActionChains(driver)

调用 ActionChains() 类,将浏览器驱动 driver 作为参数传入。

2)move_to_element(hover)

move_to_element() 方法用于模拟鼠标悬停操作,在调用时需要指定元素定位。

3)perform()

执行所有 ActionChains 中存储的行为,可以理解为是对整个操作的提交动作。

2、鼠标右击

import timefrom selenium import webdriver
from selenium.webdriver import ActionChainsdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()# 定位到需要右击的元素
right_click = driver.find_element("xpath","//a[text()='新闻']")# 初始化一个ActionChains(driver)类
action = ActionChains(driver)
# 对定位的元素执行右击操作
action.context_click(right_click).perform()# 强制等待5s,看一下效果
time.sleep(5)# 关闭浏览器
driver.quit()

3、鼠标双击

import timefrom selenium import webdriver
from selenium.webdriver import ActionChainsdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()# 定位到鼠标需要双击的元素
double_click = driver.find_element("id","su")# 初始化一个ActionChains(driver)类
action = ActionChains(driver)
# 对定位的元素执行双击操作
action.double_click(double_click).perform()# 强制等待5s,看一下效果
time.sleep(5)# 关闭浏览器
driver.quit()

4、鼠标拖动

import timefrom selenium import webdriver
from selenium.webdriver import ActionChains"""
鼠标拖动操作
"""
driver = webdriver.Chrome()
driver.get("https://demos.telerik.com/kendo-ui/dragdrop/index")
driver.maximize_window()# 定位拖动的元素
start_el  = driver.find_element('id','draggable')
# 定位到拖动结束的地方
end_el = driver.find_element('id','droptarget')
#初始化一个类
actions = ActionChains(driver)
#执行拖动操作
actions.drag_and_drop(start_el,end_el).perform()
#强制等待5s
time.sleep(5)

关于鼠标操作方法的大致思路:

1、定位到需要进行鼠标操作的元素。

2、导入ActionChains类,初始化一个ActionChains类,将我们的浏览器驱动传进去。

3、调用ActionChains类下面的方法,需要啥操作就调用啥方法,然后将定位到的元素作为参数传入方法中。

4、再继续调用perform()方法,执行鼠标操作。

selenium中鼠标操作:ActionChains类相关推荐

  1. Web自动化成长之路:selenium中鼠标、键盘、上传文件操作、使用js脚本

    前言:UI自动化操作时,鼠标操作.键盘操作.文件上传都是使用普遍且重要的操作,接下来我们就一起来学习下吧 一.文件上传 a)send_keys:一定是要是input元素 input 里的type=&q ...

  2. selenium——鼠标操作ActionChains:点击、滑动、拖动

    from selenium.webdriver import ActionChains 1.鼠标点击 click:鼠标左击 double_click:鼠标双击 context_click:鼠标右击 b ...

  3. 学会了selenium 模拟鼠标操作,你就可以偷懒点点点了

    前言 我们在做 Web 自动化的时候,有时候页面的元素不需要我们点击,值需要把鼠标移动上去就能展示各种信息. 这个时候我们可以通过操作鼠标来实现,接下来我们来讲一下使用 selenium 做 Web ...

  4. selenium之鼠标操作详解

    前言 人类频繁的用手操作鼠标和键盘,为了解决这个问题,selenium工具为我们提供了一个类来处理这些事件- Actionchains ,该类可以完成鼠标移动,鼠标点击事件.键盘输入.内容菜单交互等交 ...

  5. selenium 模拟鼠标操作

    前言:我们在做web自动化的时候,有时候页面的元素不需要我们点击,值需要把鼠标移动上去就能展示各种信息,这个时候我们可以通过操作鼠标来实现,接下来我们来讲一下使用selenium做web自动化的时候如 ...

  6. web ui自动化之模拟鼠标操作 - ActionChains

    文章目录 前言 ActionChains类方法介绍 1.执行所有存储的操作 - perform() 2.鼠标单击 - click() 3.点击鼠标左键,不松开 - click_and_hold() 4 ...

  7. selenium中键盘操作

    前言 在web测试中,可能会遇到一些需要键盘操作.在selenium中,提供了一个Keys类,来处理键盘操作.Keys类中,几乎提供了所有的键盘快捷键组合操作. DEMO 举个例子,在百度首页,输入内 ...

  8. php文本教学,php中文本操作的类

    给大家一个简单的文本操作的类. 我以前写的,不过一直都没机会用了,文本不如数据库.数据是以行保存的,以\n结尾,注意你输入的数据必须以"\n"结尾的,这是几个最基本的类成员,文本的 ...

  9. Python爬虫(4)-Selenium模拟鼠标操作

    在Selenium4.2以后的版本里面鼠标的操作方法都封装在了ActionChains中需要时直接取即可. 1.鼠标双击 使用方法就是调用ActionChains然后传入你需要点击的按钮的位置即可 A ...

最新文章

  1. VC6如何使用VS2005中的CImage类功能
  2. 清华镜像源地址_PyCharm安装第三方库(内含添加国内镜像源方法)
  3. W600 PWM捕获功能
  4. 两款爱不释手的markdown编辑工具
  5. 如何提升各开发角色效率,既保证产品质量又能快速上线?
  6. sql2005版本以上的分页存储过程
  7. Java应用怎么打包发布_myeclipse中java应用程序打包发布步骤
  8. 一个较好的基础的数据库连接池知识
  9. 【信息论】信源与信源熵(三)
  10. python功能主菜单_Pycharm主菜单学习
  11. 网络文学网站的盈利模式分析
  12. Linux软件开发工程师
  13. php 病案系统,医疗档案管理系统
  14. [PTA]实验3-4 统计字符
  15. flutter-Decoration
  16. 基于MSP432控制的红外循迹爬坡小车设计报告
  17. 读《why programs fail》的闲话
  18. 考研英语作文 万能的开头结尾
  19. 我的学好Linux决心书
  20. 自动化软件测试流程的七个步骤包括哪些内容

热门文章

  1. 这届年轻人,是最孤独的一代吗?
  2. threeJS创建粒子波浪
  3. 【Android】Android Studio左侧的目录工具栏
  4. java趣味编程心形_求源代码!(迪卡尔心形图案)
  5. C语言4位BCD码加法器,bcd码加法器
  6. Keepalived Nginx 类型效劳下高结实Linux系统计划
  7. Adnroid ViewPage 使用
  8. java 正则拼音_匹配中文普通话汉字拼音正则表达式
  9. 电脑不识别u盘的解决方法
  10. 开根号向下取整代码实现