在自动化中用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中尝试多线程编程的一个简明例子
Apr 07 Python
在Python中使用pngquant压缩png图片的教程
Apr 09 Python
在Django的URLconf中使用命名组的方法
Jul 18 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
Python标准库之itertools库的使用方法
Sep 07 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
pandas 数据实现行间计算的方法
Jun 08 Python
Django 反向生成url实例详解
Jul 30 Python
python线程池如何使用
May 28 Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 Python
python中count函数知识点浅析
Dec 17 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 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/07/12 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
ajax 缓存 问题 requestheader
2010/08/01 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
ztree实现权限横向显示功能
2017/05/20 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
Python函数参数类型*、**的区别
2015/04/11 Python
浅谈Django REST Framework限速
2017/12/12 Python
python实现Zabbix-API监控
2018/09/17 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
园长自我鉴定
2013/10/06 职场文书
物流管理专业应届生求职信
2013/11/21 职场文书
住房公积金接收函
2014/01/09 职场文书
志愿者宣传口号
2014/06/17 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
中班教师个人总结
2015/02/05 职场文书
违纪学生保证书
2015/02/27 职场文书
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers