在自动化中用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实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
Python检测QQ在线状态的方法
May 09 Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 Python
Python教程之全局变量用法
Jun 27 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
Python3.5模块的定义、导入、优化操作图文详解
Apr 27 Python
python os模块简单应用示例
May 23 Python
python脚本后台执行方式
Dec 21 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 Python
pytorch构建多模型实例
Jan 15 Python
通过实例解析Python return运行原理
Mar 04 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脚本的10个技巧(4)
2006/10/09 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
php错误日志简单配置方法
2016/07/11 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
python判断windows隐藏文件的方法
2014/03/21 Python
pycharm的python_stubs问题
2020/04/08 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
个人党性剖析材料
2014/02/03 职场文书
社团招新宣传语
2015/07/13 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
JS监听Esc 键触发事键
2021/04/14 Javascript
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL