【uiautomation】键指令大全(以及三种调用方式)+常用鼠标动作+SendKeys+Inspect学习

文章目录

  • 键指令大全
    • ①auto.Keys.XXX,如auto.Keys.VK_SPACE
    • ②auto.SpecialKeyNames['XXX'],如auto.SpecialKeyNames['ESC']
    • ③auto.CharacterCodes['XXX'],如auto.CharacterCodes['0']
  • 常用鼠标动作
  • 按键学习--SendKeys
  • Inspect.exe学习
    • **" 检查 "窗口有几个主要部分:**
    • **Options(选项栏)**
    • **Toolbar(工具栏)**

学习了knighthood2001 博主的uiautomation相关文章后,将其部分博文汇总,方便自己后续使用时进行查阅。具体可进入knighthood2001的博文进行详细学习。传送门-点我

在uiautomation自动化中,有时候可能很难做到真正意义上的自动化,需要人手动去停止运行代码,比如之前本系列写的【uiautomation】微信好友列表获取(存储到txt中),当滚轮滚到底时,需要人工结束运行代码,并将最后的几个微信好友昵称获取,提取主要代码(如下)

flag = True
while flag:
    # 空格
    if auto.IsKeyPressed(auto.Keys.VK_SPACE):
        flag = False

以上就实现了代码运行后,按空格结束运行的过程。

一般来说,auto.IsKeyPressed()函数中跟的是某个指令,可以是键盘上某个键的,也可以输入某个大写字母或数字,也可以鼠标左键这个指令等。
uiautomation中有三种类似的实现以上过程,(XXX需要更改)

①auto.Keys.XXX,如auto.Keys.VK_SPACE

②auto.SpecialKeyNames['XXX'],如auto.SpecialKeyNames['ESC']

③auto.CharacterCodes['XXX'],如auto.CharacterCodes['0']
import uiautomation as auto
while True:
    # 输入空格(auto.Keys.VK_SPACE)
    if auto.IsKeyPressed(auto.Keys.VK_SPACE):
        break
    # 输入ESC(auto.SpecialKeyNames)
    if auto.IsKeyPressed(auto.SpecialKeyNames['ESC']):
        break
    # 输入0(auto.CharacterCodes)
    if auto.IsKeyPressed(auto.CharacterCodes['0']):
        break

键指令大全

①auto.Keys.XXX,如auto.Keys.VK_SPACE

注:其中=和后面的4个字符可以忽略

需要的键的指令可以在下面找到(常见的笔者已经加粗了)

VK_LBUTTON = 0x01 鼠标左键
VK_RBUTTON = 0x02 鼠标右键
VK_CANCEL = 0x03 控制中断处理
VK_MBUTTON = 0x04 鼠标中键(三键鼠标)
VK_XBUTTON1 = 0x05 X1 鼠标按键
VK_XBUTTON2 = 0x06 X2 鼠标按键
VK_BACK = 0x08 退格键
VK_TAB = 0x09 TAB 键
VK_CLEAR = 0x0C 清除键
VK_RETURN = 0x0D 回车键
VK_ENTER = 0x0D
VK_SHIFT = 0x10 SHIFT 键
VK_CONTROL = 0x11 CTRL 键
VK_MENU = 0x12 ALT 键
VK_PAUSE = 0x13 暂停键
VK_CAPITAL = 0x14 大写锁定键
VK_KANA = 0x15 IME 假名模式
VK_HANGUEL = 0x15 IME Hanguel 模式(保持兼容性;使用 VK_HANGUL)
VK_HANGUL = 0x15 IME 韩文模式
VK_JUNJA = 0x17 IME Junja 模式
VK_FINAL = 0x18 IME 最终模式
VK_HANJA = 0x19 IME 汉字模式
VK_KANJI = 0x19 IME 汉字模式
VK_ESCAPE = 0x1B ESC键
VK_CONVERT = 0x1C IME 转换
VK_NONCONVERT = 0x1D IME 非转换
VK_ACCEPT = 0x1E IME 接受
VK_MODECHANGE = 0x1F IME 模式更改请求
VK_SPACE = 0x20 空格键
VK_PRIOR = 0x21 PAGE UP 键
VK_PAGEUP = 0x21
VK_NEXT = 0x22 PAGE DOWN 键
VK_PAGEDOWN = 0x22
VK_END = 0x23 结束键
VK_HOME = 0x24 主页键
VK_LEFT = 0x25 左箭头键
VK_UP = 0x26 向上箭头键
VK_RIGHT = 0x27 右箭头键
VK_DOWN = 0x28 向下箭头键
VK_SELECT = 0x29 选择键
VK_PRINT = 0x2A 打印键
VK_EXECUTE = 0x2B 执行键
VK_SNAPSHOT = 0x2C 打印屏幕键
VK_INSERT = 0x2D INS 键
VK_DELETE = 0x2E DEL 键
VK_HELP = 0x2F 帮助 键
VK_0 = 0x30 0 键
VK_1 = 0x31 1 键
VK_2 = 0x32 2 键
VK_3 = 0x33 3 键
VK_4 = 0x34 4 键
VK_5 = 0x35 5 键
VK_6 = 0x36 6 键
VK_7 = 0x37 7 键
VK_8 = 0x38 8 键
VK_9 = 0x39 9 键
VK_A = 0x41 A 键
VK_B = 0x42 B 键
VK_C = 0x43 C 键
VK_D = 0x44 D 键
VK_E = 0x45 E 键
VK_F = 0x46 F 键
VK_G = 0x47 G 键
VK_H = 0x48 H 键
VK_I = 0x49 I 键
VK_J = 0x4A J 键
VK_K = 0x4B K 键
VK_L = 0x4C L键
VK_M = 0x4D M 键
VK_N = 0x4E N 键
VK_O = 0x4F O 键
VK_P = 0x50 P 键
VK_Q = 0x51 Q 键
VK_R = 0x52 R 键
VK_S = 0x53 S 键
VK_T = 0x54 T 键
VK_U = 0x55 U 键
VK_V = 0x56 V键
VK_W = 0x57 W 键
VK_X = 0x58 X 键
VK_Y = 0x59 Y 键
VK_Z = 0x5A Z 键
VK_LWIN = 0x5B 左 Windows 键(自然键盘)
VK_RWIN = 0x5C 右 Windows 键(自然键盘)
VK_APPS = 0x5D 应用程序键(自然键盘)
VK_SLEEP = 0x5F 计算机睡眠键
VK_NUMPAD0 = 0x60 数字键盘 0 键
VK_NUMPAD1 = 0x61 数字键盘 1 键
VK_NUMPAD2 = 0x62 数字键盘 2 键
VK_NUMPAD3 = 0x63 数字键盘 3 键
VK_NUMPAD4 = 0x64 数字键盘 4 键
VK_NUMPAD5 = 0x65 数字键盘 5 键
VK_NUMPAD6 = 0x66 数字键盘 6 键
VK_NUMPAD7 = 0x67 数字键盘 7 键
VK_NUMPAD8 = 0x68 数字键盘 8 键
VK_NUMPAD9 = 0x69 数字键盘 9 键
VK_MULTIPLY = 0x6A 乘法键
VK_ADD = 0x6B 添加键
VK_SEPARATOR = 0x6C 分隔键
VK_SUBTRACT = 0x6D 减去键
VK_DECIMAL = 0x6E 十进制键
VK_DIVIDE = 0x6F 除法键
VK_F1 = 0x70 F1 键
VK_F2 = 0x71 F2 键
VK_F3 = 0x72 F3 键
VK_F4 = 0x73 F4键
VK_F5 = 0x74 F5 键
VK_F6 = 0x75 F6 键
VK_F7 = 0x76 F7 键
VK_F8 = 0x77 F8 键
VK_F9 = 0x78 F9 键
VK_F10 = 0x79 F10 键
VK_F11 = 0x7A F11 键
VK_F12 = 0x7B F12 键
VK_F13 = 0x7C F13 键
VK_F14 = 0x7D F14 键
VK_F15 = 0x7E F15 键
VK_F16 = 0x7F F16 键
VK_F17 = 0x80 F17 键
VK_F18 = 0x81 F18 键
VK_F19 = 0x82 F19 键
VK_F20 = 0x83 F20 键
VK_F21 = 0x84 F21 键
VK_F22 = 0x85 F22 键
VK_F23 = 0x86 F23 键
VK_F24 = 0x87 F24 键
VK_NUMLOCK = 0x90 NUM LOCK 键
VK_SCROLL = 0x91 滚动锁定键
VK_LSHIFT = 0xA0 左 SHIFT 键
VK_RSHIFT = 0xA1 右 SHIFT 键
VK_LCONTROL = 0xA2 左 CONTROL 键
VK_RCONTROL = 0xA3 右 CONTROL 键
VK_LMENU = 0xA4 左菜单键
VK_RMENU = 0xA5 右菜单键
VK_BROWSER_BACK = 0xA6 浏览器返回键
VK_BROWSER_FORWARD = 0xA7 浏览器转发键
VK_BROWSER_REFRESH = 0xA8 浏览器刷新键
VK_BROWSER_STOP = 0xA9 浏览器停止键
VK_BROWSER_SEARCH = 0xAA 浏览器搜索键
VK_BROWSER_FAVORITES = 0xAB 浏览器收藏夹键
VK_BROWSER_HOME = 0xAC 浏览器启动和主页键
VK_VOLUME_MUTE = 0xAD 音量静音键
VK_VOLUME_DOWN = 0xAE 降低音量键
VK_VOLUME_UP = 0xAF 提高音量键
VK_MEDIA_NEXT_TRACK = 0xB0 下一曲目键
VK_MEDIA_PREV_TRACK = 0xB1 前一曲目键
VK_MEDIA_STOP = 0xB2 停止媒体键
VK_MEDIA_PLAY_PAUSE = 0xB3 播放暂停媒体键
VK_LAUNCH_MAIL = 0xB4 开始邮件键
VK_LAUNCH_MEDIA_SELECT = 0xB5 选择媒体键
VK_LAUNCH_APP1 = 0xB6 启动应用程序 1 键
VK_LAUNCH_APP2 = 0xB7 启动应用程序 2 键
VK_OEM_1 = 0xBA 用于杂项字符;它可能因键盘而异。对于美国标准键盘,';:' 键
VK_OEM_PLUS = 0xBB 对于任何国家地区,“+”键
VK_OEM_COMMA = 0xBC 对于任何国家地区,',' 键
VK_OEM_MINUS = 0xBD 对于任何国家地区,'-' 键
VK_OEM_PERIOD = 0xBE 对于任何国家地区,'.'钥匙
VK_OEM_2 = 0xBF 用于杂项字符;它可能因键盘而异。对于美国标准键盘,“?”钥匙
VK_OEM_3 = 0xC0 用于杂项字符;它可能因键盘而异。对于美国标准键盘,'`~' 键
VK_OEM_4 = 0xDB 用于杂项字符;它可能因键盘而异。对于美国标准键盘,'[{' 键
VK_OEM_5 = 0xDC 用于杂项字符;它可能因键盘而异。对于美国标准键盘,'\|'钥匙
VK_OEM_6 = 0xDD 用于杂项字符;它可能因键盘而异。对于美国标准键盘,']}' 键
VK_OEM_7 = 0xDE 用于杂项字符;它可能因键盘而异。对于美国标准键盘,“单引号双引号”键
VK_OEM_8 = 0xDF 用于杂项字符;它可能因键盘而异。
VK_OEM_102 = 0xE2 RT 102 键键盘上的尖括号键或反斜杠键
VK_PROCESSKEY = 0xE5 IME 处理键
VK_PACKET = 0xE7 用于传递 Unicode 字符,就好像它们是击键一样。 
VK_ATTN = 0xF6 Attn 键
VK_CRSEL = 0xF7 CrSel 键
VK_EXSEL = 0xF8 ExSel 键
VK_EREOF = 0xF9 擦除 EOF 键
VK_PLAY = 0xFA 播放键
VK_ZOOM = 0xFB 缩放键
VK_NONAME = 0xFC 保留
VK_PA1 = 0xFD PA1 键
VK_OEM_CLEAR = 0xFE 清除键

②auto.SpecialKeyNames[‘XXX’],如auto.SpecialKeyNames[‘ESC’]

代码具体如下,可以看出SpecialKeyNames是一个字典,其中的值为①中的内容,因此可以通过字典中的键获取其值,如auto.SpecialKeyNames[‘ESC’]

SpecialKeyNames = {
    'LBUTTON': Keys.VK_LBUTTON,                        #Left mouse button
    'RBUTTON': Keys.VK_RBUTTON,                        #Right mouse button
    'CANCEL': Keys.VK_CANCEL,                          #Control-break processing
    'MBUTTON': Keys.VK_MBUTTON,                        #Middle mouse button (three-button mouse)
    'XBUTTON1': Keys.VK_XBUTTON1,                      #X1 mouse button
    'XBUTTON2': Keys.VK_XBUTTON2,                      #X2 mouse button
    'BACK': Keys.VK_BACK,                              #BACKSPACE key
    'TAB': Keys.VK_TAB,                                #TAB key
    'CLEAR': Keys.VK_CLEAR,                            #CLEAR key
    'RETURN': Keys.VK_RETURN,                          #ENTER key
    'ENTER': Keys.VK_RETURN,                           #ENTER key
    'SHIFT': Keys.VK_SHIFT,                            #SHIFT key
    'CTRL': Keys.VK_CONTROL,                           #CTRL key
    'CONTROL': Keys.VK_CONTROL,                        #CTRL key
    'ALT': Keys.VK_MENU,                               #ALT key
    'PAUSE': Keys.VK_PAUSE,                            #PAUSE key
    'CAPITAL': Keys.VK_CAPITAL,                        #CAPS LOCK key
    'KANA': Keys.VK_KANA,                              #IME Kana mode
    'HANGUEL': Keys.VK_HANGUEL,                        #IME Hanguel mode (maintained for compatibility; use VK_HANGUL)
    'HANGUL': Keys.VK_HANGUL,                          #IME Hangul mode
    'JUNJA': Keys.VK_JUNJA,                            #IME Junja mode
    'FINAL': Keys.VK_FINAL,                            #IME final mode
    'HANJA': Keys.VK_HANJA,                            #IME Hanja mode
    'KANJI': Keys.VK_KANJI,                            #IME Kanji mode
    'ESC': Keys.VK_ESCAPE,                             #ESC key
    'ESCAPE': Keys.VK_ESCAPE,                          #ESC key
    'CONVERT': Keys.VK_CONVERT,                        #IME convert
    'NONCONVERT': Keys.VK_NONCONVERT,                  #IME nonconvert
    'ACCEPT': Keys.VK_ACCEPT,                          #IME accept
    'MODECHANGE': Keys.VK_MODECHANGE,                  #IME mode change request
    'SPACE': Keys.VK_SPACE,                            #SPACEBAR
    'PRIOR': Keys.VK_PRIOR,                            #PAGE UP key
    'PAGEUP': Keys.VK_PRIOR,                           #PAGE UP key
    'NEXT': Keys.VK_NEXT,                              #PAGE DOWN key
    'PAGEDOWN': Keys.VK_NEXT,                           #PAGE DOWN key
    'END': Keys.VK_END,                                #END key
    'HOME': Keys.VK_HOME,                              #HOME key
    'LEFT': Keys.VK_LEFT,                              #LEFT ARROW key
    'UP': Keys.VK_UP,                                  #UP ARROW key
    'RIGHT': Keys.VK_RIGHT,                            #RIGHT ARROW key
    'DOWN': Keys.VK_DOWN,                              #DOWN ARROW key
    'SELECT': Keys.VK_SELECT,                          #SELECT key
    'PRINT': Keys.VK_PRINT,                            #PRINT key
    'EXECUTE': Keys.VK_EXECUTE,                        #EXECUTE key
    'SNAPSHOT': Keys.VK_SNAPSHOT,                      #PRINT SCREEN key
    'PRINTSCREEN': Keys.VK_SNAPSHOT,                    #PRINT SCREEN key
    'INSERT': Keys.VK_INSERT,                          #INS key
    'INS': Keys.VK_INSERT,                             #INS key
    'DELETE': Keys.VK_DELETE,                          #DEL key
    'DEL': Keys.VK_DELETE,                             #DEL key
    'HELP': Keys.VK_HELP,                              #HELP key
    'WIN': Keys.VK_LWIN,                               #Left Windows key (Natural keyboard)
    'LWIN': Keys.VK_LWIN,                              #Left Windows key (Natural keyboard)
    'RWIN': Keys.VK_RWIN,                              #Right Windows key (Natural keyboard)
    'APPS': Keys.VK_APPS,                              #Applications key (Natural keyboard)
    'SLEEP': Keys.VK_SLEEP,                            #Computer Sleep key
    'NUMPAD0': Keys.VK_NUMPAD0,                        #Numeric keypad 0 key
    'NUMPAD1': Keys.VK_NUMPAD1,                        #Numeric keypad 1 key
    'NUMPAD2': Keys.VK_NUMPAD2,                        #Numeric keypad 2 key
    'NUMPAD3': Keys.VK_NUMPAD3,                        #Numeric keypad 3 key
    'NUMPAD4': Keys.VK_NUMPAD4,                        #Numeric keypad 4 key
    'NUMPAD5': Keys.VK_NUMPAD5,                        #Numeric keypad 5 key
    'NUMPAD6': Keys.VK_NUMPAD6,                        #Numeric keypad 6 key
    'NUMPAD7': Keys.VK_NUMPAD7,                        #Numeric keypad 7 key
    'NUMPAD8': Keys.VK_NUMPAD8,                        #Numeric keypad 8 key
    'NUMPAD9': Keys.VK_NUMPAD9,                        #Numeric keypad 9 key
    'MULTIPLY': Keys.VK_MULTIPLY,                      #Multiply key
    'ADD': Keys.VK_ADD,                                #Add key
    'SEPARATOR': Keys.VK_SEPARATOR,                    #Separator key
    'SUBTRACT': Keys.VK_SUBTRACT,                      #Subtract key
    'DECIMAL': Keys.VK_DECIMAL,                        #Decimal key
    'DIVIDE': Keys.VK_DIVIDE,                          #Divide key
    'F1': Keys.VK_F1,                                  #F1 key
    'F2': Keys.VK_F2,                                  #F2 key
    'F3': Keys.VK_F3,                                  #F3 key
    'F4': Keys.VK_F4,                                  #F4 key
    'F5': Keys.VK_F5,                                  #F5 key
    'F6': Keys.VK_F6,                                  #F6 key
    'F7': Keys.VK_F7,                                  #F7 key
    'F8': Keys.VK_F8,                                  #F8 key
    'F9': Keys.VK_F9,                                  #F9 key
    'F10': Keys.VK_F10,                                #F10 key
    'F11': Keys.VK_F11,                                #F11 key
    'F12': Keys.VK_F12,                                #F12 key
    'F13': Keys.VK_F13,                                #F13 key
    'F14': Keys.VK_F14,                                #F14 key
    'F15': Keys.VK_F15,                                #F15 key
    'F16': Keys.VK_F16,                                #F16 key
    'F17': Keys.VK_F17,                                #F17 key
    'F18': Keys.VK_F18,                                #F18 key
    'F19': Keys.VK_F19,                                #F19 key
    'F20': Keys.VK_F20,                                #F20 key
    'F21': Keys.VK_F21,                                #F21 key
    'F22': Keys.VK_F22,                                #F22 key
    'F23': Keys.VK_F23,                                #F23 key
    'F24': Keys.VK_F24,                                #F24 key
    'NUMLOCK': Keys.VK_NUMLOCK,                        #NUM LOCK key
    'SCROLL': Keys.VK_SCROLL,                          #SCROLL LOCK key
    'LSHIFT': Keys.VK_LSHIFT,                          #Left SHIFT key
    'RSHIFT': Keys.VK_RSHIFT,                          #Right SHIFT key
    'LCONTROL': Keys.VK_LCONTROL,                      #Left CONTROL key
    'LCTRL': Keys.VK_LCONTROL,                         #Left CONTROL key
    'RCONTROL': Keys.VK_RCONTROL,                      #Right CONTROL key
    'RCTRL': Keys.VK_RCONTROL,                         #Right CONTROL key
    'LALT': Keys.VK_LMENU,                             #Left MENU key
    'RALT': Keys.VK_RMENU,                             #Right MENU key
    'BROWSER_BACK': Keys.VK_BROWSER_BACK,              #Browser Back key
    'BROWSER_FORWARD': Keys.VK_BROWSER_FORWARD,        #Browser Forward key
    'BROWSER_REFRESH': Keys.VK_BROWSER_REFRESH,        #Browser Refresh key
    'BROWSER_STOP': Keys.VK_BROWSER_STOP,              #Browser Stop key
    'BROWSER_SEARCH': Keys.VK_BROWSER_SEARCH,          #Browser Search key
    'BROWSER_FAVORITES': Keys.VK_BROWSER_FAVORITES,    #Browser Favorites key
    'BROWSER_HOME': Keys.VK_BROWSER_HOME,              #Browser Start and Home key
    'VOLUME_MUTE': Keys.VK_VOLUME_MUTE,                #Volume Mute key
    'VOLUME_DOWN': Keys.VK_VOLUME_DOWN,                #Volume Down key
    'VOLUME_UP': Keys.VK_VOLUME_UP,                    #Volume Up key
    'MEDIA_NEXT_TRACK': Keys.VK_MEDIA_NEXT_TRACK,      #Next Track key
    'MEDIA_PREV_TRACK': Keys.VK_MEDIA_PREV_TRACK,      #Previous Track key
    'MEDIA_STOP': Keys.VK_MEDIA_STOP,                  #Stop Media key
    'MEDIA_PLAY_PAUSE': Keys.VK_MEDIA_PLAY_PAUSE,      #Play/Pause Media key
    'LAUNCH_MAIL': Keys.VK_LAUNCH_MAIL,                #Start Mail key
    'LAUNCH_MEDIA_SELECT': Keys.VK_LAUNCH_MEDIA_SELECT,#Select Media key
    'LAUNCH_APP1': Keys.VK_LAUNCH_APP1,                #Start Application 1 key
    'LAUNCH_APP2': Keys.VK_LAUNCH_APP2,                #Start Application 2 key
    'OEM_1': Keys.VK_OEM_1,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the ';:' key
    'OEM_PLUS': Keys.VK_OEM_PLUS,                      #For any country/region, the '+' key
    'OEM_COMMA': Keys.VK_OEM_COMMA,                    #For any country/region, the ',' key
    'OEM_MINUS': Keys.VK_OEM_MINUS,                    #For any country/region, the '-' key
    'OEM_PERIOD': Keys.VK_OEM_PERIOD,                  #For any country/region, the '.' key
    'OEM_2': Keys.VK_OEM_2,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the '/?' key
    'OEM_3': Keys.VK_OEM_3,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the '`~' key
    'OEM_4': Keys.VK_OEM_4,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the '[{' key
    'OEM_5': Keys.VK_OEM_5,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the '\|' key
    'OEM_6': Keys.VK_OEM_6,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the ']}' key
    'OEM_7': Keys.VK_OEM_7,                            #Used for miscellaneous characters; it can vary by keyboard.For the US standard keyboard, the 'single-quote/double-quote' key
    'OEM_8': Keys.VK_OEM_8,                            #Used for miscellaneous characters; it can vary by keyboard.
    'OEM_102': Keys.VK_OEM_102,                        #Either the angle bracket key or the backslash key on the RT 102-key keyboard
    'PROCESSKEY': Keys.VK_PROCESSKEY,                  #IME PROCESS key
    'PACKET': Keys.VK_PACKET,                          #Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KeyUp
    'ATTN': Keys.VK_ATTN,                              #Attn key
    'CRSEL': Keys.VK_CRSEL,                            #CrSel key
    'EXSEL': Keys.VK_EXSEL,                            #ExSel key
    'EREOF': Keys.VK_EREOF,                            #Erase EOF key
    'PLAY': Keys.VK_PLAY,                              #Play key
    'ZOOM': Keys.VK_ZOOM,                              #Zoom key
    'NONAME': Keys.VK_NONAME,                          #Reserved
    'PA1': Keys.VK_PA1,                                #PA1 key
    'OEM_CLEAR': Keys.VK_OEM_CLEAR,                    #Clear key
}

③auto.CharacterCodes[‘XXX’],如auto.CharacterCodes[‘0’]

代码具体如下,可以看出CharacterCodes也是一个字典,其中的值为①中的内容,因此可以通过字典中的键获取其值,如auto.CharacterCodes[‘0’]

CharacterCodes = {
    '0': Keys.VK_0,                             #0 key
    '1': Keys.VK_1,                             #1 key
    '2': Keys.VK_2,                             #2 key
    '3': Keys.VK_3,                             #3 key
    '4': Keys.VK_4,                             #4 key
    '5': Keys.VK_5,                             #5 key
    '6': Keys.VK_6,                             #6 key
    '7': Keys.VK_7,                             #7 key
    '8': Keys.VK_8,                             #8 key
    '9': Keys.VK_9,                             #9 key
    'a': Keys.VK_A,                             #A key
    'A': Keys.VK_A,                             #A key
    'b': Keys.VK_B,                             #B key
    'B': Keys.VK_B,                             #B key
    'c': Keys.VK_C,                             #C key
    'C': Keys.VK_C,                             #C key
    'd': Keys.VK_D,                             #D key
    'D': Keys.VK_D,                             #D key
    'e': Keys.VK_E,                             #E key
    'E': Keys.VK_E,                             #E key
    'f': Keys.VK_F,                             #F key
    'F': Keys.VK_F,                             #F key
    'g': Keys.VK_G,                             #G key
    'G': Keys.VK_G,                             #G key
    'h': Keys.VK_H,                             #H key
    'H': Keys.VK_H,                             #H key
    'i': Keys.VK_I,                             #I key
    'I': Keys.VK_I,                             #I key
    'j': Keys.VK_J,                             #J key
    'J': Keys.VK_J,                             #J key
    'k': Keys.VK_K,                             #K key
    'K': Keys.VK_K,                             #K key
    'l': Keys.VK_L,                             #L key
    'L': Keys.VK_L,                             #L key
    'm': Keys.VK_M,                             #M key
    'M': Keys.VK_M,                             #M key
    'n': Keys.VK_N,                             #N key
    'N': Keys.VK_N,                             #N key
    'o': Keys.VK_O,                             #O key
    'O': Keys.VK_O,                             #O key
    'p': Keys.VK_P,                             #P key
    'P': Keys.VK_P,                             #P key
    'q': Keys.VK_Q,                             #Q key
    'Q': Keys.VK_Q,                             #Q key
    'r': Keys.VK_R,                             #R key
    'R': Keys.VK_R,                             #R key
    's': Keys.VK_S,                             #S key
    'S': Keys.VK_S,                             #S key
    't': Keys.VK_T,                             #T key
    'T': Keys.VK_T,                             #T key
    'u': Keys.VK_U,                             #U key
    'U': Keys.VK_U,                             #U key
    'v': Keys.VK_V,                             #V key
    'V': Keys.VK_V,                             #V key
    'w': Keys.VK_W,                             #W key
    'W': Keys.VK_W,                             #W key
    'x': Keys.VK_X,                             #X key
    'X': Keys.VK_X,                             #X key
    'y': Keys.VK_Y,                             #Y key
    'Y': Keys.VK_Y,                             #Y key
    'z': Keys.VK_Z,                             #Z key
    'Z': Keys.VK_Z,                             #Z key
    ' ': Keys.VK_SPACE,                         #Space key
    '`': Keys.VK_OEM_3,                         #` key
    #'~' : Keys.VK_OEM_3,                         #~ key
    '-': Keys.VK_OEM_MINUS,                     #- key
    #'_' : Keys.VK_OEM_MINUS,                     #_ key
    '=': Keys.VK_OEM_PLUS,                      #= key
    #'+' : Keys.VK_OEM_PLUS,                      #+ key
    '[': Keys.VK_OEM_4,                         #[ key
    #'{' : Keys.VK_OEM_4,                         #{ key
    ']': Keys.VK_OEM_6,                         #] key
    #'}' : Keys.VK_OEM_6,                         #} key
    '\\': Keys.VK_OEM_5,                        #\ key
    #'|' : Keys.VK_OEM_5,                         #| key
    ';': Keys.VK_OEM_1,                         #; key
    #':' : Keys.VK_OEM_1,                         #: key
    '\'': Keys.VK_OEM_7,                        #' key
    #'"' : Keys.VK_OEM_7,                         #" key
    ',': Keys.VK_OEM_COMMA,                     #, key
    #'<' : Keys.VK_OEM_COMMA,                     #< key
    '.': Keys.VK_OEM_PERIOD,                    #. key
    #'>' : Keys.VK_OEM_PERIOD,                    #> key
    '/': Keys.VK_OEM_2,                         #/ key
    #'?' : Keys.VK_OEM_2,                         #? key
}

常用鼠标动作

单击鼠标左键

Click(x: int, y: int, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标在点 x, y 的点击。

OPERATION_WAIT_TIME默认为0.5
即等待时间默认为0.5秒。

单机鼠标中键

MiddleClick(x: int, y: int, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标在点 x、y 处单击鼠标中键。

模拟鼠标在点 x、y 处单击鼠标中键。

单机鼠标右键

RightClick(x: int, y: int, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标在点 x,y 上单击鼠标右键。

模拟鼠标在点 x,y 上单击鼠标右键。

按鼠标左键

PressMouse(x: int, y: int, waitTime: float = OPERATION_WAIT_TIME)

释放鼠标左键

ReleaseMouse(waitTime: float = OPERATION_WAIT_TIME)

还有按鼠标中键与右键,释放鼠标中键与右键,这里就不细讲了。

还有按鼠标中键与右键,释放鼠标中键与右键,这里就不细讲了。

释放鼠标左键
ReleaseMouse(waitTime: float = OPERATION_WAIT_TIME)
还有按鼠标中键与右键,释放鼠标中键与右键,这里就不细讲了。

RightPressMouse()、RightReleaseMouse()
MiddlePressMouse()、MiddleReleaseMouse()
鼠标移动

MoveTo(x: int, y: int, moveSpeed: float = 1, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标从当前光标移动到点 x, y。

模拟鼠标从当前光标移动到点 x, y。

moveSpeed:1 正常速度,< 1 移动速度较慢,> 1 移动速度更快。

鼠标左键拖放

DragDrop(x1: int, y1: int, x2: int, y2: int, moveSpeed: float = 1, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标左键从点 x1、y1 拖放到点 x2、y2。

模拟鼠标左键从点 x1、y1 拖放到点 x2、y2。

moveSpeed:1 正常速度,< 1 移动速度较慢,> 1 移动速度更快。

鼠标右键拖放

RightDragDrop(x1: int, y1: int, x2: int, y2: int, moveSpeed: float = 1, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标右键从点 x1、y1 拖放到点 x2、y2。

moveSpeed:1 正常速度,< 1 移动速度较慢,> 1 移动速度更快。
鼠标中键拖放使用MiddleDragDrop()

模拟鼠标右键从点 x1、y1 拖放到点 x2、y2。

鼠标滚轮向下

WheelDown(wheelTimes: int = 1, interval: float = 0.05, waitTime: float = OPERATION_WAIT_TIME)

模拟鼠标滚轮向下。

模拟鼠标滚轮向下。

wheelTimes:轮次,默认为1
interval: 间隔,默认为0.05
waitTime: 等待时间,默认为0.5
鼠标滚轮向上

WheelUp(wheelTimes: int = 1, interval: float = 0.05, waitTime: float = OPERATION_WAIT_TIME)

参数如上

参数如上

获取屏幕尺寸

GetScreenSize()

返回 Tuple[int, int],两个 int 元组(宽度,高度)。

确定窗口是否最小化

IsIconic(handle: int) -> bool

确定本机窗口是否最小化。 handle:本机窗口的句柄。返回布尔值。

确定本机窗口是否最小化。 handle:本机窗口的句柄。返回布尔值。

确定窗口是否最大化

IsZoomed(handle: int) -> bool

确定本机窗口是否最大化。 handle:int,本机窗口的句柄。返回布尔值。

确定本机窗口是否最大化。 handle:int,本机窗口的句柄。返回布尔值。

桌面是否被锁

IsDesktopLocked() -> bool

检查桌面是否被锁定。返回布尔值。如果按 Win+L、Ctrl+Alt+Del 或在远程桌面模式下,桌面将被锁定。

检查桌面是否被锁定。返回布尔值。如果按 Win+L、Ctrl+Alt+Del 或在远程桌面模式下,桌面将被锁定。

键盘输入

SendKey(key: int, waitTime: float = OPERATION_WAIT_TIME)

模拟键入一个键。既可以是平时的字母,也可以是键盘上的一个符号,比如回车,空格。

模拟键入一个键。既可以是平时的字母,也可以是键盘上的一个符号,比如回车,空格。

按下键盘/释放键盘

PressKey()、ReleaseKey()

判断键盘是否被按下

IsKeyPressed(key: int) -> bool

按键学习–SendKeys

SendKeys('{Ctrl}(AB)') # 表示Ctrl+A+B
SendKeys('{Ctrl}{v 3}') # 表示同时按下 Ctrl+v,松开 Ctrl+v,然后键入'v'2次
SendKeys('{a 3}{B 5}') # 表示输入a3次,b5次
SendKeys('{{Home} {! 3}}') # 根据后面的{},数字前面的符号,可生成对应数量个

Inspect.exe学习

" 检查 "窗口有几个主要部分:

标题栏。 显示" 检查 HWND (窗口句柄) 。
菜单栏。 提供对 检查功能 的访问权限。
工具 栏。 提供对 检查功能 的访问权限。
树视图。 将 UI 元素的层次结构呈现为树视图控件,可用于在元素之间导航。
数据视图。 显示所选 UI 元素的所有公开辅助功能属性。

img

菜单栏中提供的命令也可在工具栏中使用。 下图展示了 Inspect 工具,用于查询记事本中 “编辑” 菜单元素的 UI 自动化属性。

Options(选项栏)

img

选择此选项后 检查 会这样做
始终位于顶部(Always on Top) 显示在屏幕上的任何其他窗口的顶部。
MSAA 模式(MSAA Mode) 显示Microsoft Active Accessibility属性信息。
UI 自动化模式(UI Automation Mode) 显示UI 自动化属性信息。
原始视图(Raw View) 在" 树"视图中 UI 自动化树或 MSAA 树的原始视图 。
控件视图(Control View) 在" 树"视图中 UI 自动化树的 控件 视图。 仅在UI 自动化模式下可用。
内容视图(Content View) 在" 树"视图中 UI 自动化树 的内容 视图。 仅在UI 自动化模式下可用。
活动悬停工具栏(Active-Hover Toolbar) 在鼠标悬停时激活工具栏按钮,而无需单击鼠标。
出错时发出Epep(Beep on Error) 在运行或 MSAA 操作期间检测到错误时UI 自动化发出警报。
SPI _ SCREENREADER 标志(SPl_SCREENREADER flag) 假设存在屏幕阅读器。 此标志指示应用程序应以文本方式(而不是图形方式)提供信息。 不应仅仅因为存在屏幕阅读器而设置此标志。
显示突出显示矩形(Show Highlight Rectangle) 突出显示具有焦点的元素周围的矩形。
显示 Caret 突出显示(Show Caret Highlight) 突出显示该点。 仅在 MSAA 模式下可用。
显示信息工具提示(Show Information Tooltip) 在工具提示中显示属性信息。
观看焦点(Watch Focus) 跟随键盘焦点。 选中后,将安装异步焦点事件挂钩,将光标移到具有焦点的元素的左上方。 这将导致 检查 在大约一秒后刷新其属性。
监视 Caret(Watch Caret) 遵循该点。 仅在 MSAA 模式下可用。
监视光标(Watch Cursor) 在光标后。
监视工具提示(Watch Tooltips) 遵循工具提示。
显示树(Show Tree) 显示" 树" 视图。

Toolbar(工具栏)

img

1:Refresh,刷新Tree View(树视图)

2:Copy Text to Clipboard,复制Data View(数据视图)的文本到剪切板

3:Show Settings Dialog,显示Options的Settings

4:剩下的重要按钮在Options中已经讲到,就不再重述了。

你可能感兴趣的:(PYTHON,WindowsGUI,python)