我試圖做一個小功能,將等待,直到出現某個窗口,然後發送按鍵(ALT + I),我一直在嘗試用pywinauto做到這一點,但沒有成功。 從我在documantation讀過我可以使用pywinauto等待窗口出現併發送按鍵
pywinauto.application.WindowSpecification.Exists()
,但我只是不明白如何指定什麼我要找的,我可以使用窗口標題或進程名稱,但找不到一個好的解釋。
另外,除了pywinauto之外,還有一個麪糊或更容易使用的模塊嗎?我不需要做複雜的自動化,只需等待一個窗口併發送一些密鑰即可。
編輯
好吧,我找到了解決辦法,一個簡單的函數,循環永遠
def auto_accept(*args):
while True:
try:
app = pywinauto.Application()
app.window_(title='Untitled - Notepad').SetFocus()
app.window_(title='Untitled - Notepad').TypeKeys("{1}{2}{3}")
except (pywinauto.findwindows.WindowNotFoundError, pywinauto.timings.TimeoutError):
pass
但現在我總是得到「2015-07-12 12警告:18:02887信息:類型化文本到記事本:{1} {2} {3}「,我不能使用警告模塊將它們過濾掉,還有另一種方法來過濾\禁用它們嗎?這是一個問題,因爲當我使用py2exe創建一個exe文件時,程序關閉後會告訴我有錯誤,但唯一的錯誤是我從sendkeys獲得的警告。
謝謝,但我發現解決方案,另一方面,如何禁用發送擊鍵時收到的警告?我總是收到警告,如「2015-07-13 12:18:03,100信息:鍵入文字到記事本:{1} {2} {3}」,我無法使用警告模塊將它們過濾掉。 –
因爲它是日誌模塊的東西。更新的答案涵蓋了這一點。 –
pywinauto 0.5.1將有一個文檔化的快捷方式:'pywinauto.actionlogger.disable()'感謝用例。 –