上一篇介紹了pywinauto庫中如何模擬鼠標操作,既然有鼠標,那么肯定有鍵盤。
模擬鍵盤操作
想要通過pywinauto模擬操作鍵盤,需要重新導入庫 from pywinauto.keyboard import send_keys
我們想要模擬鍵盤操作,其實最終使用send_keys(個別朋友是不是看着特別熟悉?是不是想某地方的值?)
源碼:
def send_keys(keys, pause=0.05, with_spaces=False, with_tabs=False, with_newlines=False, turn_off_numlock=True, vk_packet=True): """Parse the keys and type them""" keys = parse_keys( keys, with_spaces, with_tabs, with_newlines, vk_packet=vk_packet) for k in keys: k.run() time.sleep(pause) SendKeys = deprecated(send_keys)
這里安靜先簡單的寫了個操作流程,大家可以看看
from pywinauto.keyboard import send_keys from pywinauto import Application import time app = Application().start('notepad.exe') # 通過支持的控件輸入內容 app['無標題 - 記事本'].Edit.type_keys('測試-安靜') time.sleep(2) # 回車 send_keys('{ENTER}') # F5 send_keys('{VK_F5}') # ctrl+a send_keys('^a')
這里安靜對記事本進行了操作,打開記事本,輸入測試-安靜,然后進行回車換行,按下F5(這里的F5顯示當前時間)最后進行全選操作
其實模擬操作鍵盤很簡單,只是使用send_keys這個方法,大家可能不明白的就是如何進行書寫鍵盤內容,其實和我們鍵盤內容輸入一樣即刻,可能有些需要加入VK
其他寫法
比如我上面的輸入法內容,我們也可以直接單獨寫在一起,這樣執行也是沒有問題的
特殊鍵盤
安靜這里收集了一些特殊放啊,對應的符號
按鍵名稱 | 對應符號 |
---|---|
SHIFT | + |
CTRL | ^ |
ALT | % |
SPACE | {SPACE} |
BACKSPACE | {BACKSPACE} {BS} or{BKSP} |
BREAK | {BREAK} |
CAPS LOCK | {CAPSLOCK} |
DEL or DELETE | {DELETE} or {DEL} |
DOWN ARROW | {DOWN} |
END | {END} |
ENTER | {ENTER} or ~ |
ESC | {ESC} |
HELP | {HELP} |
HOME | {HOME} |
INS or INSERT | {INSERT} or {INS} |
LEFT ARROW | {LEFT} |
NUM LOCK | {NUMLOCK} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
PRINT SCREEN | {PRTSC} |
RIGHT ARROW | {RIGHT} |
SCROLL LOCK | {SCROLLLOCK} |
TAB | {TAB} |
UP ARROW | {UP} |
+ | {ADD} |
- | {SUBTRACT} |
* | {MULTIPLY} |
/ | {DIVIDE} |