在自动化中用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新手经常遇到的17个错误分析
Jul 30 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
python/sympy求解矩阵方程的方法
Nov 08 Python
Python实现合并excel表格的方法分析
Apr 13 Python
简单了解python PEP的一些知识
Jul 13 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
分享一个python的aes加密代码
Dec 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
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
ES6中Array.includes()函数的用法
2017/09/20 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
Python变量和数据类型详解
2017/02/15 Python
python url 参数修改方法
2018/12/26 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
中英文自我评价常用句型
2013/12/19 职场文书
车祸赔偿收入证明
2014/01/09 职场文书
家长对学生的评语
2014/04/18 职场文书
物业消防安全责任书
2014/07/23 职场文书
2014年教师节寄语
2014/08/11 职场文书
给老师的一封感谢信
2015/01/20 职场文书
上下班时间调整通知
2015/04/23 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS