在自动化中用python实现键盘操作的方法详解

 更新时间:2019年07月19日 21:28:15   作者:DaxiaLeeSuper  
今天小编就为大家分享一篇在自动化中用python实现键盘操作的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

原来在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实现键盘操作的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 简单了解OpenCV是个什么东西

    简单了解OpenCV是个什么东西

    这篇文章主要介绍了简单了解OpenCV是什么,结合了几篇相关文章的介绍,还是比较不错的,希望大家在阅读过之后,会对OpenCV有一个简单了解。
    2017-11-11
  • Python使用异步线程池如何实现异步TCP服务器交互

    Python使用异步线程池如何实现异步TCP服务器交互

    这篇文章主要介绍了Python使用异步线程池如何实现异步TCP服务器交互问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python如何批量获取文件夹的大小并保存

    Python如何批量获取文件夹的大小并保存

    这篇文章主要介绍了Python如何批量获取文件夹的大小并保存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python threading和Thread模块及线程的实现

    Python threading和Thread模块及线程的实现

    这篇文章主要介绍了Python threading和Thread模块及线程的实现,Python通过两个标准库thread和threading提供对线程的支持,threading对thread进行了封装,具体实现介绍需要的朋友可以参考一下下面文章内容
    2022-06-06
  • python  ceiling divide 除法向上取整(或小数向上取整)的实例

    python ceiling divide 除法向上取整(或小数向上取整)的实例

    今天小编就为大家分享一篇python ceiling divide 除法向上取整 (或小数向上取整)的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python urls.py的三种配置写法实例详解

    Python urls.py的三种配置写法实例详解

    这篇文章主要介绍了Python urls.py的三种配置写法实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • python命令行参数argparse模块基本用法详解

    python命令行参数argparse模块基本用法详解

    argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,这篇文章主要介绍了python命令行参数-argparse模块基本用法,需要的朋友可以参考下
    2023-01-01
  • python输出带颜色字体实例方法

    python输出带颜色字体实例方法

    在本篇文章里小编给大家整理了关于python输出带颜色字体实例以及相关代码,有需要的朋友们可以学习参考下。
    2019-09-09
  • PyQt5固定窗口大小的方法

    PyQt5固定窗口大小的方法

    今天小编就为大家分享一篇PyQt5固定窗口大小的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Pytorch中.new()的作用详解

    Pytorch中.new()的作用详解

    今天小编就为大家分享一篇Pytorch中.new()的作用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论