在自动化中用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 相关文章推荐
centos系统升级python 2.7.3
Jul 03 Python
详解Python的Django框架中的templates设置
May 11 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
python实现批量nii文件转换为png图像
Jul 18 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
Python 中如何实现参数化测试的方法示例
Dec 10 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
结束运行python的方法
Jun 16 Python
python怎么自定义捕获错误
Jun 29 Python
利用python如何实现猫捉老鼠小游戏
Dec 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
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Python批量查询域名是否被注册过
2017/06/21 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
python3实现简单飞机大战
2020/11/29 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
优秀大学生的自我评价
2014/01/16 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
前台岗位职责
2015/02/13 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
2016年小学生新年寄语
2015/08/18 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL
css3 选择器
2022/05/11 HTML / CSS