在自动化中用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 contextlib模块使用示例
Feb 18 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
浅谈python中的占位符
Nov 09 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
Python中字符串List按照长度排序
Jul 01 Python
python中for循环把字符串或者字典添加到列表的方法
Jul 20 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
Feb 10 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
python logging通过json文件配置的步骤
Apr 27 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初学入门
2006/11/19 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python flask框架如何显示图像到web页面
2020/06/03 Python
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
怎样写留学自荐信
2013/11/11 职场文书
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python