位置: 编程技术 - 正文

玩转python selenium鼠标键盘操作(ActionChains)(玩转兽世:兽夫,亲一个)

编辑:rootadmin

推荐整理分享玩转python selenium鼠标键盘操作(ActionChains)(玩转兽世:兽夫,亲一个),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:玩转兽世:兽夫,亲一个,玩转香江1980,玩转娱乐圈,玩转科学,玩转香江1980,玩转娱乐圈,玩转半个娱乐圈的明星大盘点,玩转华尔街,内容如对您有帮助,希望把文章链接给更多的朋友!

用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains

selenium.webdriver.common.action_chains.ActionChains(driver)

这个类基本能够满足我们所有对鼠标操作的需求。

1.ActionChains基本用法

首先需要了解ActionChains的执行原理,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform()方法时,队列中的时间会依次执行。

这种情况下我们可以有两种调用方法:

&#;链式写法

&#;分步写法

两种写法本质是一样的,ActionChains都会按照顺序执行所有的操作。

2.ActionChains方法列表

click(on_element=None) ——单击鼠标左键

click_and_hold(on_element=None) ——点击鼠标左键,不松开

context_click(on_element=None) ——点击鼠标右键

double_click(on_element=None) ——双击鼠标左键

drag_and_drop(source, target) ——拖拽到某个元素然后松开

drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

key_down(value, element=None) ——按下某个键盘上的键

key_up(value, element=None) ——松开某个键

move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

move_to_element(to_element) ——鼠标移动到某个元素

move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

perform() ——执行链中的所有动作

release(on_element=None) ——在某个元素位置松开鼠标左键

send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

接下来用示例来详细说明和演示每一个方法的用法:

玩转python selenium鼠标键盘操作(ActionChains)(玩转兽世:兽夫,亲一个)

3.代码示例

1. 点击操作

示例网址

代码:

结果:

[CLICK][DOUBLE_CLICK][RIGHT_CLICK]

2.鼠标移动

示例网址

示例代码:

结果

Mouse moved

Mouse moved

3.拖拽

示例网址

代码:

结果:

dropped dropped dropped dropped

一般用坐标定位很少,用上例中的方法1足够了,如果看源码,会发现方法2其实就是方法1中的drag_and_drop()的实现。注意:拖拽使用时注意加等待时间,有时会因为速度太快而失败。

4.按键

模拟按键有多种方法,能用winapi来实现,能用SendKeys来实现,也可以用selenium的WebElement对象的send_keys()方法来实现,这里ActionChains类也提供了几个模拟按键的方法。

示例网址

代码1:

结果:

key downed charCode=[0] keyCode=[] CTRLkey upped charCode=[0] keyCode=[] NONEkey pressed charCode=[] keyCode=[0] NONE

示例2:

示例网址

代码:

结果:

Test KeysTest Keys

复制粘贴用WebElement< input >.send_keys()也能实现,大家可以试一下,也可以用更底层的方法,同时也是os弹框的处理办法之一的winapi,有兴趣也可以试试SendKeys、keybd_event

标签: 玩转兽世:兽夫,亲一个

本文链接地址:https://www.jiuchutong.com/biancheng/385350.html 转载请保留说明!

上一篇:Python selenium文件上传方法汇总(selenium在pycharm)

下一篇:Python selenium 三种等待方式解读

  • 外地预缴的附加税怎么算
  • 免税农产品发票怎么做账
  • 安全生产费实际发生必须是付款吗还是挂帐也可以
  • 小规模无进项怎么补税
  • 企业筹办期间发生的开办费会计分录
  • 一般纳税人企业所得税税率
  • 实收资本未到位情况说明
  • 全额抵扣的发票怎么申报增值税
  • 雇佣退休人员工伤赔偿标准
  • 小规模纳税人企业所得税起征点
  • 做内帐和外账需要多久
  • 实际报销人是什么意思
  • 收回过去已确认的坏账
  • 项目收入怎么算
  • 事业单位没有经过公示的内部文件不生效 出处
  • 以后年度继续扣除广告宣传费,要怎么写分录?
  • 挂靠公司代收入税金如何做分录?
  • 差额征税一般纳税人认定标准
  • 加计抵减是什么时候开始的
  • 接管财务要对接哪些内容?
  • 备抵法计提坏账准备的公式
  • 个人所得汇算清缴是什么
  • cpu不支持vt怎么办
  • edge浏览器下载安装
  • Mac怎么强制关闭程序
  • macos10.15.7更新
  • 个人所得税如何办理退税
  • 纳税确有困难标准
  • php数组函数大全
  • php curl模块
  • 苹果手机nfc录门禁卡
  • win10待机界面进不去系统怎么办
  • 创业补贴的作用
  • 质量扣款入什么科目
  • 存货周转率公式怎么算
  • 接受捐赠的固定资产可以入账依据是哪些?
  • 股票交易税怎么算出来的
  • win10系统安装详细步骤
  • 代开发票要带什么资料去税务局办理?
  • 竞业限制违反了怎么办
  • 企业接受捐赠的税务处理
  • php使用函数限制字符串长度和格式
  • 发票已开,款未到的会计分录
  • 定时器计数器实验报告
  • 视觉slam十四讲笔记
  • while循环语法结构
  • 垃圾处置费的收费标准
  • 增值税及附加交给国税还是地税
  • 费用分割单使用范围
  • 以件数为印花税计税的有哪些
  • 对公账户发票和普通发票不一样吗
  • 个体户季报网上申报怎么填写
  • 车船税每年都是一样的吗
  • 营业税费是借还是贷
  • 公司车辆购买保险申请
  • 取得普通发票怎么做账
  • 计提工资是否要交税
  • 标准成本法计算公式图
  • 个人生产经营所得税怎么申报
  • sql server自动生成语句
  • centos 6.5下 mysql-community-server. 5.7.18-1.el6安装
  • xp系统开机按什么还原
  • win2003 enterprise序列号
  • centos安装常用命令
  • aliwssv.exe是什么进程
  • 标签windows
  • ubuntu怎么设置网络连接
  • windows 10 mobile--移动版
  • 小马kms激活工具
  • qt_5 not found
  • android不同module怎么相互调用
  • dos命令 获取文件名
  • vue动态路由传参
  • jqueryui dialog
  • jquery实现下拉菜单
  • 查询完毕
  • 怎样在网上打印社保证明
  • 注销发票怎么处理流程
  • 3000劳务报酬如何缴税
  • 征地税税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设