位置: 编程技术 - 正文

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

  • 金税盘抵扣增值税申报
  • 进口缴纳关税
  • 经营用的电饭锅有哪些
  • 企业所得税1季度申报季初从业人数个税所属期12月
  • 样品费用会计分录
  • 个人抬头发票可以抵税个人所得税吗
  • 员工补充医疗保险报销范围
  • 应收账款税收风险有哪些
  • 门诊药房主要业务
  • 有形动产租赁简易征收适用哪些业务
  • 递延所得税如何申报
  • 当月的费用次月入账可以么
  • 增值税补交还有没有责任
  • 聘用劳务人员派遣合法吗
  • 土地无形资产摊销的会计处理
  • 印花税计提多了怎样更正
  • 季度开票超过9万个人所得税
  • 旅游服务费可以抵扣增值税
  • 把黑龙江省
  • 银行不肯给电子承兑贴现怎么回事
  • 如何确定赊销额度
  • 本金和利息分别出具借条
  • 残保金退回属于政府补助吗
  • 三证合一后未办理税务登记
  • 支付个人利息没有取得发票
  • 小规模租赁收入申报流程
  • 发出商品发生损失
  • 内部权益性投资是指
  • 会计分录中结转成本
  • 餐饮的成本核算表格模板
  • 出纳能不能兼开专票
  • 以公允价值计量的投资性房地产
  • 什么是增值税差额征税政策的小规模纳税人
  • window7无法正常启动怎么办
  • 碧峰峡熊猫基地门票
  • 罗卡购物村
  • 盈余公积转增资本的最高限额
  • kill命令用法
  • 技术服务增值税申报表怎么填
  • 公司资金转到法人帐户
  • 参展费会计分录
  • 保险费计入固定资产原值吗
  • 一般纳税人的账户可以随便转账到私人账户吗
  • sql server2005使用方法
  • 资产减值准备的计提影响递延所得税资产吗
  • 增值税附加税的计算基数
  • 电子设备折旧残值率
  • 卖旧固定资产计入哪个科目
  • 收到预付卡的发票是否可以报销呢?
  • 减值损失和减值损失区别
  • 员工体检费计入什么会计科目里
  • 建筑业营改增的主要内容
  • 财务会计与预算会计差异如何处理
  • 虚开发票如何界定?
  • 股东退股如何清算表格
  • Linux下安装mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
  • 怎样修改windows开机密码
  • win8系统怎么设置开机启动项
  • 物联网 iot
  • win10高分辨率
  • 怎么通过mac连接wifi
  • 怎么用root登录
  • easyui combobox onchange
  • 本科生面试的自我介绍
  • vue-cli使用
  • android 加载更多
  • easyui加载数据慢
  • python目录文件拼接
  • json对象结构中,关键字key必须为什么类型
  • jquery鼠标悬停显示内容
  • js方法不执行
  • python中文分词库
  • 云南省地方税务局官网
  • 天津户籍信息查询
  • 深圳龙华区税务局大浪税务所电话
  • 一般纳税人的进项票必须当月认证吗?
  • 先进单位表彰发言稿
  • 开票盘是什么意思
  • 长春税务局电话朝阳区
  • 铁路土地使用税减免
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设