python模拟鼠标拖动_Python+Selenium自动化篇-6-模拟鼠标操作
在webdriver中,鼠标的一些操作如:双击、右击、悬停、拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了。
0.ActionChains类提供的鼠标常用方法:
perform():执行所有 ActionChains 中存储的行为。
context_click():右击
double_click():双击
drag_and_drop():拖到
move_to_element():鼠标悬停
注意:
使用之前需要引入 ActionChains 类。
from selenium.webdriver.common.action_chains import ActionChains
鼠标右击实例
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains # 引入 ActionChains 类
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
# 定位到要右击的元素
right_click = browser.find_element_by_link_text('新闻')
# 对定位到的元素执行鼠标右键操作
#ActionChains(driver):调用ActionChains()类,并将浏览器驱动browser作为参数传入
#context_click(right_click):模拟鼠标双击,需要传入指定元素定位作为参数
#perform():执行ActionChains()中储存的所有操作,可以看做是执行之前一系列的操作
try:
ActionChains(browser).context_click(right_click).perform()
print('成功右击')
except Exception as e:
print('fail')
#输出内容:成功双击
注意:
ActionChains(driver):调用ActionChains()类,并将浏览器驱动browser作为参数传入
context_click(right_click):模拟鼠标双击,需要传入指定元素定位作为参数
perform():执行ActionChains()中储存的所有操作,可以看做是执行之前一系列的操作
1.鼠标右击
context_click():右击
# 鼠标右击
# 定位到要右击的元素
right_click = browser.find_element_by_id("xx")
# 对定位到的元素执行右击操作
ActionChains(browser).move_to_element(right_click ).perform()
2.鼠标双击
double_click():双击
# 定位到要右击的元素
double_click = browser.find_element_by_id('xx')
# 对定位到的元素执行鼠标右键操作
ActionChains(browser).context_click(double_click).perform()
3.鼠标拖动
drag_and_drop(source,target):拖动
source:开始位置;需要拖动的元素
target:结束位置;拖到后需要放置的目的地元素
# 开始位置:定位到元素的原位置
source = driver.find_element_by_id("xx")
# 结束位置:定位到元素要移动到的目标位置
target = driver.find_element_by_id("xx")
# 执行元素的拖放操作
ActionChains(driver).drag_and_drop(source,target).perform()
4.鼠标悬停
move_to_element():鼠标悬停
# 定位到要悬停的元素
move = driver.find_element_by_id("xx")
# 对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(move).perform()
python模拟鼠标拖动_Python+Selenium自动化篇-6-模拟鼠标操作相关推荐
- python selenium模拟键盘_Python+Selenium自动化篇-7-模拟键盘操作
0.导入键盘类Keys() selenium中的Keys()类提供了大部分的键盘操作方法:通过send_keys()方法来模拟键盘上的按键. # 导入键盘类 Keys() from selenium. ...
- python print 退格_Python+Selenium练习篇之12-组合键-退格键删除文字/鼠标右键
退格键删除文字 前面一篇文章介绍了,常规清除文本输入框字符的方法clear(), 本文介绍 相关脚本代码如下,这里用百度首页搜索输入框举例: #coding=utf-8 importtimefrom ...
- python 头条 上传_Python+selenium自动化之文件上传
邮箱的主要功能就是邮件消息的收发阅读,之前的文章写了邮件的查收和编写,本篇介绍邮件的附件上传.还是以腾讯企业邮箱为例,进行实际案例操作. 文件上传的实现大体分为两种,一种是input标签,一种非inp ...
- python自动切换链接_python+selenium自动化(四)之selenium切换窗口
当我们点击某个链接时,切换换到另一个窗口,这时就需要跟随切换到新打开的页面,去定位元素. 1.获取当前页面句柄 current_window_handle importtimefrom seleni ...
- python自动化流程概念_python selenium 自动化流程的一些总结与思考
首先要考虑的项目为什么要做自动化测试?(主要从自动化测试的优点着手) 其次是什么项目才适合做自动化测试? 自动化测试覆盖率要达到什么样的程度?因为都知道不可能达到100%的,不然脚本太臃肿,反而会失去 ...
- python 自动点击网页上按钮_python selenium自动化(一)点击页面链接测试
需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找 ...
- python火狐配置文件_Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类/Python读取配置文件内容...
封装一个自己的类-浏览器引擎类 前一篇文章我们知道了,如何去封装几个简单的Selenium方法到我们自定义的类,这次我们编写一个类,叫浏览器引擎类,通过更改一个字符串的值,利用if语句去判断和控制启动 ...
- dnf自动刷图python脚本_python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]...
背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...
- python自动化测试工具开发_Python+Selenium自动化测试教程连载(2)
上一期介绍了自动化测试Python+Selenium框架的基本介绍,这期讲元素定位. 元素定位 1.WEB自动化时利器--浏览器自带开发者工具 几乎所有浏览器都自带前端调试工具,也就是我们说的开发者工 ...
最新文章
- Dojo学习13 dijit.Tree 动态添加节点之一
- myeclipse设置
- 侯捷:搞Windows程序设计我们需要啥
- 矩阵方阵matlab,求助!!错误使用 inv 矩阵必须为方阵。
- js调用c语言程序设计,HTML页面,测试JS对C函数的调用简单实例
- LockSupport
- 作者:武永卫(1974-),男,清华大学计算机科学与技术系教授
- 《Linux菜鸟入门2》访问网络文件系统
- java.lang.Runtime 运行时类 执行 dos 、cmd 命令、VBS 脚本
- 運行命令”msiexec”查看Windows Installer的版本
- matlab 非线性辨识,非线性系统辨识Matlab实现
- 新东方雅思词汇(List 41 ~ List 45)
- kpi绩效考核流程图_绩效考核流程图
- V4L2驱动框架详解
- i.e.、e.g.、etc.、et al、viz各种缩写都是什么意思?一文搞懂各种缩写
- 机器学习笔记 - 单位矩阵和逆矩阵
- 少儿计算机兴趣小组活动记录,小学美术兴趣小组活动记录
- 在VC中编程实现按钮的启用(enable)和禁用(disable)
- 超强反爬虫方案!Requests 什么的通通爬不了
- eclipse设置maven archetype
热门文章
- 「递归」第10集 | 一款“摔”出来的产品
- 令人惊叹的前端路由原理解析和实现方式
- Range回源和视频拖拽播放
- 简述回源原理和CDN常见多级缓存
- c++协程1 (boost::coroutine)
- Flume实操(三)【实时读取目录文件到HDFS案例】
- 分布式文件系统之Hdfs是什么?
- Zookeeper02_zk集群搭建
- 基于注解进行bean的装配
- leetcode 112. Path Sum, 113. Path Sum II | 112,113. 路径总和 I, II(Java)