在自动化中用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编写的最短路径算法
Mar 25 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
Pycharm设置去除显示的波浪线方法
Oct 28 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Python requests模块cookie实例解析
Apr 14 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 Python
详解非极大值抑制算法之Python实现
Jun 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中使用模板的方法
2008/05/24 PHP
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
python分析apache访问日志脚本分享
2015/02/26 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
Python关于反射的实例代码分享
2020/02/20 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
使用python计算三角形的斜边例子
2020/04/15 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
什么是数组名
2012/05/10 面试题
爸爸的花儿落了教学反思
2014/02/20 职场文书
股权转让协议书
2014/04/12 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
争先创优公开承诺书
2014/08/30 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
组织生活会发言材料
2014/12/15 职场文书
班主任自我评价范文
2015/03/11 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书