在自动化中用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数组复制拷贝的实现方法
Jun 09 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
python构建基础的爬虫教学
Dec 23 Python
Django url,从一个页面调到另个页面的方法
Aug 21 Python
python自动循环定时开关机(非重启)测试
Aug 26 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
Jul 20 Python
selenium+headless chrome爬虫的实现示例
Jan 08 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 身份验证方面的函数
2009/10/11 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
带你认识Django
2019/01/15 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
python判断正负数方式
2020/06/03 Python
python的launcher用法知识点总结
2020/08/07 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
房屋买卖协议书范本
2014/04/10 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
热血教师观后感
2015/06/10 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python