pywinauto客戶端自動化---模擬鍵盤操作


  上一篇介紹了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}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM