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 ...
随机推荐
- DNS注册信息
DNS注册信息查询可以查到注册时留下的信息,比如姓名,联系邮箱等等. 直接在命令行输入whois sina.com直接就可以看到sina.com的注册信息: Domain Name: SINA.COM ...
- DDoS压力测试工具t50
site: https://sourceforge.net/projects/t50/ 例子:t50 192.168.1.1 --flood--protocol T50|TCP|UDP|ICMP--t ...
- Python实用笔记 (2)list和tuple
list 这就是一个列表: classmates = ['Michael', 'Bob', 'Tracy'] //内部数据类型可以不同 同样len()函数可以获取长度: len(classmates) ...
- Oracle数据库中,误删除或者修改数据恢复方法
在我们实际工作中,误删除或者修改Oracle数据库中的数据,怎么办呢?这里给大家分享一种解决办法.假如你误操作的时间不超过30分钟(数据库默认的回滚保持段里的数据时间,可以在pl/sql执行窗口按ct ...
- C# 模型赋值
/// <summary> /// 模型赋值 /// </summary> /// <param name="target">目标</pa ...
- springboot + rabbitmq 用了消息确认机制,感觉掉坑里了
本文收录在个人博客:www.chengxy-nds.top,技术资源共享,一起进步 最近部门号召大伙多组织一些技术分享会,说是要活跃公司的技术氛围,但早就看穿一切的我知道,这 T M 就是为了刷KPI ...
- 扯淡 Spring BeanDefinition
相关文章 Spring 整体架构 编译Spring5.2.0源码 Spring-资源加载 Spring 容器的初始化 Spring-AliasRegistry Spring 获取单例流程(一) Spr ...
- CSS3样式_实现字体发光效果
text-shadow 属性仅仅是用来设置文本阴影的,似乎并不能实现字体发光效果.其实不然,这正是 text-shadow 属性的精妙之处.当阴影的水平偏移量和垂直偏移量都为0时,阴影就和文本重合了. ...
- Code Forces 833 A The Meaningless Game(思维,数学)
Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...
- CF833A The Meaningless Game 题解
题目 Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting ...