web自动化 -- ActionChains()的鼠标操作
webdriver模块下的ActionChains类
一、两个主要组件
1、实例化 ActionChains()

2、ActionChains(driver).perform()
perform()的作用就是 统一提交 ActionChains(driver) 列表里面的 鼠标操作

二、ActionChains()里面常用的方法
1、点击元素: click("目标元素")

2、点住元素不放: click_and_hold("目标元素")

3、双击元素: double_click("目标元素")

4、在某元素上松开: release("目标元素")

5、拖拽某个元素到另一个元素上放开: drag_and_drop("按住的元素", "放开的目标元素")

源码:

6、按住什么东西(可以是元素、可以是键盘): key_down() 。这个要和 key_up()来配合使用
例如:复制、粘贴
其实,复制还有一个更好用的三方库 pyperclip 。 cmd输入命令:pip install pyperclip

注:这里有个特殊的就是。key_down() 是按住不放,需要 key_up() 跟起来才会放开。而,send_keys()是 完成动作后直接放开的,比如上面 输入 v 的操作就是,按住 v 又马上放开了 v 。
7、移动鼠标悬停到某个元素上面: move_to_element("目标元素")

三、复杂操作示例

我这里为什么会 send_keys(Keys.ESCAPE) 呢?
因为 当我输入完一串字符后,会出现 右键单击的菜单。
另外还有一个 TouchActions() 类。做滑动屏幕用的,对 H5 的效果相当明显。
web自动化 -- ActionChains()的鼠标操作的更多相关文章
- selenium - webdriver - ActionChains类(鼠标操作)
ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 ActionChains 中存储的行为: context_click(): 右击: double_click() ...
- Web自动化遇到shadowDOM节点操作(还没试)
近期有同学在做web自动化的时候,发现页面上有些元素,在selenium中无法通过xpath来定位,各种原因找了半天,都没找到解决方案. 最后发现元素在一个叫做shadow-root的节点下面. 如下 ...
- web自动化之Select标签操作
from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...
- web自动化之alert弹窗操作
from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...
- web自动化 -- Keys(键盘操作)
Keys没啥好讲的 语法:Keys.CONTRAL 等等类似. 下方就是可以 Keys. 跟的键 那些 \ue000 就是对应的 Windows系统中的键盘码,pywin32 也一样的 ...
- web自动化之键盘操作
简单介绍下web自动化怎么触发键盘操作 按键操作 需要导入的类from selenium.webdriver.common.keys import Keys 组合键Keys.CONTROL 也就是我们 ...
- 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...
- ui自动化--鼠标操作ActionChains
需要先引入鼠标操作模块:from selenium.webdriver.common.action_chains import ActionChains 实际上ActionChains这个模块的实现的 ...
- web自动化 模拟鼠标、键盘操作
一.鼠标操作 1.1鼠标的悬停操作,move_to_element from selenium import webdriver from selenium.webdriver.common.acti ...
随机推荐
- Python三大器之生成器
Python三大器之生成器 生成器初识 什么是生成器 生成器本身属于迭代器.继承了迭代器的特性,惰性求值,占用内存空间极小. 为什么要有生成器 我们想使用迭代器本身惰性求值的特点创建出一个可以容纳百万 ...
- 都在讲DevOps,但你知道它的发展趋势吗?
根据最近的一项集体研究,DevOps的市场在2017年创造了约29亿美元的产值,预计到2022年,这个数字将达到约66亿美元.人工智能的融入和安全性的融入,加上向自动化的巨大转变,可合理预测,在202 ...
- Jmeter系列(32)- 详解 CSV 数据文件设置
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 了解一哈什么是 CSV 文件 为了实现 ...
- MongoDB快速入门教程 (4.4)
4.5.Mongoose索引和方法 4.5.1.设置索引 let UserSchema = mongoose.Schema({ sn: { type: Number, // 设置唯一索引 unique ...
- git和github入门指南(6)
6.交作业的流程 以下内容是螺钉课堂在线就业班提交作业的要求,非螺钉课堂在线就业班学员不用学习 螺钉课堂作业全程采用git管理,希望在日常使用中,加深对git和github的理解 具体流程: 1.注册 ...
- 判断CString 字符串里面是否全部为数字
//原理就是去除0-9的数字,判断去除数字后的字符串是否为空,如果为空,说明字符串全部都是为数字,否则得话,就不是. strOutTimeOnNum = strouttime.TrimLeft( _T ...
- 【MyBtis】获取数据插入postgresql后返回的自增id
问题描述 数据库采用的是postgresql,以下面的rule表为例,该表的id设置为自增,那么经常有这样的需求,在执行insert操作后,紧接着需要获取该记录的自增id往中间表中插入数据,或者是再根 ...
- Halcon斑点分析涉及算子及其高阶运用
涉及算子 获取图像 使用ROI 对齐ROI或图像 校正图像 基础内容这里不再重述 预处理图像(过滤) 基础: mean_image(平均平滑过滤),gauss_filter(高斯滤波),binomia ...
- Python3笔记018 - 4.3 元组
第4章 序列的应用 python的数据类型分为:空类型.布尔类型.数字类型.字节类型.字符串类型.元组类型.列表类型.字典类型.集合类型 在python中序列是一块用于存放多个值的连续内存空间. py ...
- tomcat发布时候jar包问题
今天遇到个问题就是,启动tomcat时,报:java.lang.NullPointerException at org.apache.jsp.**_jsp.jspInit(index_jsp.java ...