在自动化中用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获取DLL和EXE文件版本号的方法
Mar 10 Python
深入Python解释器理解Python中的字节码
Apr 01 Python
python写入中英文字符串到文件的方法
May 06 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
Python异常处理知识点总结
Feb 18 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
Django中多种重定向方法使用详解
Jul 17 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
Python破解极验滑动验证码详细步骤
May 21 Python
Pandas搭配lambda组合使用详解
Jan 22 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
php miniBB中文乱码问题解决方法
2008/11/25 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
CI框架中$this->load->library()用法分析
2016/05/18 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
php接口隔离原则实例分析
2019/11/11 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
python Django模板的使用方法
2016/01/14 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
简单实现python收发邮件功能
2018/01/05 Python
Python FFT合成波形的实例
2019/12/04 Python
详解Python的三种拷贝方式
2020/02/11 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
旅游管理专业学生求职信
2013/09/28 职场文书
旅游网创业计划书
2014/01/31 职场文书
大学社团计划书
2014/05/01 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
MySQL 全文索引使用指南
2021/05/25 MySQL
JavaScript 对象创建的3种方法
2021/11/17 Javascript
frg-100简单操作(设置)说明
2022/04/05 无线电
Flink 侧流输出源码示例解析
2022/09/23 Servers