在自动化中用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 相关文章推荐
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
python实现随机漫步方法和原理
Jun 10 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
tensorflow 获取checkpoint中的变量列表实例
Feb 11 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 Python
PO模式在selenium自动化测试框架的优势
Mar 20 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中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
tensorflow构建BP神经网络的方法
2018/03/12 Python
Python3 replace()函数使用方法
2018/03/19 Python
详解Python3中ceil()函数用法
2019/02/19 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
JPA面试常见问题
2016/11/14 面试题
秋季运动会稿件
2014/01/30 职场文书
运动会通讯稿300字
2014/02/02 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
Python socket如何解析HTTP请求内容
2022/02/12 Python
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers