位置: 编程技术 - 正文

玩转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 三种等待方式解读

  • 车船使用税新规2020
  • 存货跌价准备影响当期损益吗
  • 应交税费科目的借贷方向
  • 异地缴纳税款
  • 税后是含税还是不含税的意思
  • 工商公示纳税总额包含个税吗
  • 付款单位与开票单位不一致如何做账?
  • 小规模交了增值税还要交什么
  • 房产租金收入房产税
  • 多缴了附加税现金怎么办
  • 电子商业承兑汇票
  • 支出没有发票怎么做账
  • 企业营改增后的会计处理有何变化
  • 一台电脑上能装多个金税盘吗?
  • 股东投资款印花税多少
  • 酒店工作车工作间标准
  • 新企业残保金免交三年超过30人
  • 企业销售产品的会计分录
  • 存货账实不符的税务风险
  • 网络平台收费标准
  • 购进的货物用于赠送
  • 房地产开发公司注册资金要求
  • 个体户生产经营所得怎么报税
  • 固定资产采用历史成本计价
  • mac怎么打出@符号
  • 用盈余公积弥补亏损会影响所有者权益总额吗
  • windows11怎么设置壁纸
  • 公司收到发票怎么做账
  • 固定资产大修理支出计入什么科目
  • php面向对象面试题
  • 投资收益怎么做不影响利润
  • 跨年庆典中燃放的歌曲
  • php数组可以使用哪些键名
  • 未认证用户是什么意思
  • ajax如何返回数据
  • api接口长什么样
  • 金银首饰以旧换新增值税处理
  • 智能优化算法书籍推荐
  • unity loom插件
  • spring integration使用:消息转换器
  • php sha1加密 解密
  • 销售发票重复开库存商品如何处理?
  • 商业承兑汇票如何查询
  • 链表的优缺点有哪些
  • 什么发票可以抵扣增值税吗
  • 揭秘如何投屏纽约时代广场
  • 小规模纳税人税收政策2023
  • 公司账户资金转个人账户
  • 广告费和业务宣传费
  • 劳务派遣的公司值得去吗
  • 物流公司的会计怎么样
  • 代扣代缴附加税怎么做账
  • 结汇是把外币换成人民币吗
  • 小规模纳税人本期应纳税额
  • 建筑劳务公司的账务处理流程
  • 发工资代付是什么意思
  • 游戏公司的主营业务成本
  • 汽车租赁公司成本
  • 小企业会计准则会计科目表
  • solaris 11.3
  • win7原版系统安装与激活
  • vmwareworkstation10虚拟机
  • xp系统开机后不停重启
  • 电脑裸奔可以吗
  • win10自带邮箱无法使用126
  • 导入extjs、jquery 文件时$使用冲突问题解决方法
  • node.js如何运行
  • 幼儿园放鞭炮
  • 不同页面之间传递数据
  • jquery cookie使用
  • js正则表达式写法
  • jquery的方法
  • 如何搭建应用服务器
  • android 入门教程
  • services的翻译
  • 出口退税全流程
  • 纳税申报期过了怎么处理
  • 信用社股金转让 办理要多少时间
  • 契税计税依据含装修费吗
  • 海关进口增值税怎么认证抵扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设