在自动化中用python实现键盘操作的方法详解


Posted in Python onJuly 19, 2019

原来在robotframework中使用press key方法进行键盘的操作,但是该方法需要写被操作对象的locator,不是很方便,现在找到了一种win32api库写键盘操作的一个方法(注意:此方法被操作界面必须在顶层),首先,需要安装win32api的python库,使用命令:

pip install pywin32

具体实现代码如下:

import win32api
import win32con

class MyLibrary(object):
  def keybd_event(self,VK_CODE): #VK_CODE为键盘编码
    # @Keyboard
    # input
    VK_CODE = int(VK_CODE)
    print ":::VK_CODE:", VK_CODE
    win32api.keybd_event(VK_CODE, 0, 0, 0)
    win32api.keybd_event(VK_CODE, 0, win32con.KEYEVENTF_KEYUP, 0)
    print ":::press", str(VK_CODE), "successfully!"
    time.sleep(2)

if __name__ == '__main__':
    keybd_event(40) #键盘按下方向向下键

常见键盘编码:(来自百度)

ESC键VK_ESCAPE (27)
回车键:VK_RETURN (13)
TAB键:VK_TAB (9)
Caps Lock键:VK_CAPITAL (20)
Shift键:VK_SHIFT (16)
Ctrl键:VK_CONTROL (17)
Alt键:VK_MENU (18)
空格键:VK_SPACE (32)
退格键:VK_BACK (8)
左徽标键:VK_LWIN (91)
右徽标键:VK_RWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键:VK_INSERT (45)
Home键:VK_HOME (36)
Page Up:VK_PRIOR (33)
PageDown:VK_NEXT (34)
End键:VK_END (35)
Delete键:VK_DELETE (46)
方向键(←):VK_LEFT (37)
方向键(↑):VK_UP (38)
方向键(→):VK_RIGHT (39)
方向键(↓):VK_DOWN (40)
F1键:VK_F1 (112)
F2键:VK_F2 (113)
F3键:VK_F3 (114)
F4键:VK_F4 (115)
F5键:VK_F5 (116)
F6键:VK_F6 (117)
F7键:VK_F7 (118)
F8键:VK_F8 (119)
F9键:VK_F9 (120)
F10键:VK_F10 (121)
F11键:VK_F11 (122)
F12键:VK_F12 (123)
Num Lock键:VK_NUMLOCK (144)
小键盘0:VK_NUMPAD0 (96)
小键盘1:VK_NUMPAD1 (97)
小键盘2:VK_NUMPAD2 (98)
小键盘3:VK_NUMPAD3 (99)
小键盘4:VK_NUMPAD4 (100)
小键盘5:VK_NUMPAD5 (101)
小键盘6:VK_NUMPAD6 (102)
小键盘7:VK_NUMPAD7 (103)
小键盘8:VK_NUMPAD8 (104)
小键盘9:VK_NUMPAD9 (105)
小键盘。:VK_DECIMAL (110)
小键盘*:VK_MULTIPLY (106)
小键盘+:VK_ADD (107)
小键盘-:VK_SUBTRACT (109)
小键盘/:VK_DIVIDE (111)
Pause Break键:VK_PAUSE (19)
Scroll Lock键:VK_SCROLL (145)

以上这篇在自动化中用python实现键盘操作的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Python中set与frozenset方法和区别详解
May 23 Python
Python使用filetype精确判断文件类型
Jul 02 Python
python3爬取各类天气信息
Feb 24 Python
Python获取指定字符前面的所有字符方法
May 02 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
Python缓存技术实现过程详解
Sep 25 Python
Python 去除字符串中指定字符串
Mar 05 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
Python Http请求json解析库用法解析
Nov 28 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 #Python
python实现图片九宫格分割
Mar 07 #Python
django最快程序开发流程详解
Jul 19 #Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 #Python
Django REST framework 视图和路由详解
Jul 19 #Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 #Python
Django模板Templates使用方法详解
Jul 19 #Python
You might like
PHP中的extract的作用分析
2008/04/09 PHP
PHP ElasticSearch做搜索实例讲解
2020/02/05 PHP
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
详解Python self 参数
2019/08/30 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
毕业设计计划书
2014/01/09 职场文书
档案室主任岗位职责
2014/02/12 职场文书
大学生个人自荐信
2014/02/24 职场文书
音乐教师求职信
2014/06/28 职场文书
考研英语辞职信
2015/05/13 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
公司酒会主持词
2015/07/02 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
windows安装python超详细图文教程
2021/05/21 Python