python+selenium 鼠标事件操作方法


Posted in Python onAugust 24, 2019

一、前言

除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键、双击、悬停、拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封装在 ActionChains 类中。

ActionChains 类提供了鼠标操作的常用方法:

perform() 执行所有ActionChains中存储的行为
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停

二、详细使用

1.鼠标右击操作

from selenium import webdriver
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
 
driver = webdriver.Chrome()
driver.get("url")
#......
#定位到需要右击的元素
right_click = driver.find_element_by_id("id")
#对元素进行右击操作
ActionChains(driver).context_click(right_click).perform()
#......

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

perform():执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作;

2.鼠标悬停

move_to_element()方法可以模拟鼠标悬停的动作,其用法与context_click()相同;

from selenium import webdriver
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
 
driver = webdriver.Chrome()
driver.get("url")
#......
#定位到需要悬停的元素
above = driver.find_element_by_id("id")
#对元素进行右击操作
ActionChains(driver).move_to_element(above).perform()
#......

3.鼠标双击

double_click() 方法用于模拟鼠标双击操作;

from selenium import webdriver
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
 
driver = webdriver.Chrome()
driver.get("url")
#......
#定位到需要双击的元素
double_click = driver.find_element_by_id("id")
#对元素进行右击操作
ActionChains(driver).double_click(double_click).perform()
#......

4.鼠标拖动操作

drag_and_drop(source,target) 在源位置元素上按住鼠标左键,然后移动到目标元素上释放。

source:鼠标拖动的源元素

target:鼠标释放的目标元素

from selenium import webdriver
#引入ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
 
driver = webdriver.Chrome()
driver.get("url")
#......
#定位元素的源位置
source = driver.find_element_by_id("id")
#定位元素要移到到的目标位置
target = driver.find_element_by_id("id")
#对元素进行拖动操作
ActionChains(driver).drag_and_drop(source,target).perform()
#......

以上这篇python+selenium 鼠标事件操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用go和python递归删除.ds store文件的方法
Jan 22 Python
Python脚本实现网卡流量监控
Feb 14 Python
Python生成随机验证码的两种方法
Dec 22 Python
深入理解Python异常处理的哲学
Feb 01 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
python利用re,bs4,requests模块获取股票数据
Jul 29 Python
python实现人工智能Ai抠图功能
Sep 05 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
python中setuptools的作用是什么
Jun 19 Python
python 绘制国旗的示例
Sep 27 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
python+selenium select下拉选择框定位处理方法
Aug 24 #Python
Python封装成可带参数的EXE安装包实例
Aug 24 #Python
python识别文字(基于tesseract)代码实例
Aug 24 #Python
python图片二值化提高识别率代码实例
Aug 24 #Python
关于Python形参打包与解包小技巧分享
Aug 24 #Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 #Python
对python中的装包与解包实例详解
Aug 24 #Python
You might like
神族 Protoss 历史背景
2020/03/14 星际争霸
解决中英文字符串长度问题函数
2007/01/16 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
python类定义的讲解
2013/11/01 Python
Python合并多个装饰器小技巧
2015/04/28 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
写自荐信三大法宝
2014/01/24 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
采购助理岗位职责
2014/02/16 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
社会调查研究计划书
2014/05/01 职场文书
股指期货心得体会
2014/09/10 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书