赞
踩
学习了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
注:其中=和后面的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 清除键
代码具体如下,可以看出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 }
代码具体如下,可以看出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('{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}}') # 根据后面的{},数字前面的符号,可生成对应数量个
标题栏。 显示" 检查 HWND (窗口句柄) 。
菜单栏。 提供对 检查功能 的访问权限。
工具 栏。 提供对 检查功能 的访问权限。
树视图。 将 UI 元素的层次结构呈现为树视图控件,可用于在元素之间导航。
数据视图。 显示所选 UI 元素的所有公开辅助功能属性。
菜单栏中提供的命令也可在工具栏中使用。 下图展示了 Inspect 工具,用于查询记事本中 “编辑” 菜单元素的 UI 自动化属性。
选择此选项后 | 检查 会这样做 |
---|---|
始终位于顶部(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) | 显示" 树" 视图。 |
1:Refresh,刷新Tree View(树视图)
2:Copy Text to Clipboard,复制Data View(数据视图)的文本到剪切板
3:Show Settings Dialog,显示Options的Settings
4:剩下的重要按钮在Options中已经讲到,就不再重述了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。