在自动化中用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 相关文章推荐
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
深入理解python函数递归和生成器
Jun 06 Python
python实现隐马尔科夫模型HMM
Mar 25 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
浅析python中的del用法
Sep 02 Python
python pymysql库的常用操作
Oct 16 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
python实现的web监控系统
Apr 27 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
phpfpm的作用和用法
2019/10/10 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
采用call方式实现js继承
2014/05/20 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
js实现随机点名
2021/01/19 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
Python 实现简单的电话本功能
2015/08/09 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
四年级数学教学反思
2014/02/02 职场文书
浪费资源的建议书
2014/03/12 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
科学发展观演讲稿
2014/09/11 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
就业证明函
2015/06/17 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
Python加密技术之RSA加密解密的实现
2022/04/08 Python