位置: 编程技术 - 正文

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

  • 企业增值税怎么做账务处理
  • 取得发票与实际业务不符怎么办
  • 税务做定额
  • 背书行为有效的是指什么
  • 借款利息抵扣土增
  • 预借差旅费附什么原始凭证
  • 保理利息计算公式
  • 支付临时工劳务费700元需要开发票吗
  • 上年城市维护建设税退税怎么记账
  • 非专利技术转让计入什么科目
  • 收到短期贷款会计分录
  • 网上车辆购置税缴纳
  • 主营业务收入如何红冲
  • 暂估入库发票差额怎么办
  • 工业企业购买电机会计分录
  • 企业应纳税所得额计算例题
  • 出售车辆需要缴纳哪些税
  • 承兑汇票银行背书
  • 发票勾选 发票认证
  • 公司买结构性存款算投资吗
  • 用友t3新账套总账设置
  • 商品进价销售要上税吗
  • windows10office更新
  • uniapp获取input的值
  • linux系统中安装web服务
  • u盘win10系统安装教程
  • Mac SIP系统完整性保护开启及关闭的方法介绍
  • 百度地图经纬度导航
  • 如何分清福利性劳动
  • ts基础类型
  • win7界面旋转
  • 个人代开普票的个人经营所得税如何计算
  • 员工出差机票计入什么科目
  • php注册和登录界面
  • openpose的输出
  • idea2020.2.3创建web
  • react生命周期分为两类
  • css定位属性的运用
  • telnet 执行命令
  • 下载下来是php
  • dedecms使用教程
  • 发票 技术服务
  • 以旧换新方式销售金银首饰的消费税处理
  • sql 临时表格
  • 预提开发成本的会计分录
  • 个税申报赡养老人可以填公婆吗
  • sqlserver存储过程语法
  • 企业支付的一次性就业补助金
  • 营业外收入需要缴纳印花税吗
  • 应交税费的账务处理一般纳税人
  • 结转收入及成本费用
  • 教育费附加和地方教育费附加都要交吗
  • 一般纳税人季报还是月报
  • 年底进项比销项大要做账么
  • 暂估成本后发票怎么处理
  • 其他综合收益为什么不影响利润
  • 招标代理公司用哪个版本什么意思
  • 企业购车购置税怎么算
  • 差旅费的进项税额需要转出吗
  • 结存成本会计分录
  • 企业整个月没有缴纳社保
  • 从mysql导出数据
  • 老毛桃u盘启动制作工具如何把原来的win7改xp系统图文教程
  • Win8系统Smartscreen筛选器界面变灰无法设置的解决方法
  • 同一个用户
  • win8.1输入法打不了中文
  • 微软系统如何恢复出厂设置
  • win7彻底删除的文件怎么恢复
  • win10输入法图标消失
  • 使用Apache&花生壳架设Web服务器
  • cocos2dx 3.3 + QT5.3制作游戏编辑器
  • unity 调用java
  • ajax按顺序执行
  • linux用python
  • c语言深入剖析
  • js window.screen
  • javascript面向
  • 重庆网上税务局个人怎么绑定企业账户
  • 多计提的税金如何处理
  • 税务局发票邮寄需要多久
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设