在自动化中用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分割TXT文件成4K的TXT文件
May 23 Python
布同自制Python函数帮助查询小工具
Mar 13 Python
Python中optionParser模块的使用方法实例教程
Aug 29 Python
python写的一个squid访问日志分析的小程序
Sep 17 Python
windows系统下Python环境搭建教程
Mar 28 Python
Python3实现的反转单链表算法示例
Mar 08 Python
python ChainMap的使用和说明详解
Jun 11 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
Python使用re模块验证危险字符
May 21 Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 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实现的生成静态HTML速度快类库
2007/03/31 PHP
PHP 递归效率分析
2009/11/24 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
详解JS面向对象编程
2016/01/24 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
vue cli 全面解析
2018/02/28 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
Python动态加载模块的3种方法
2014/11/22 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
实习医生自我评价
2013/09/22 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
出国留学英文自荐信
2015/03/25 职场文书
活动宣传稿范文
2015/07/23 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技