簡體   English   中英

使您的程序使用gui

[英]Make your program USE a gui

我想編寫一個能夠通過控制鼠標/鍵盤並“看到”屏幕上的內容來“使用”其他程序的程序。

我使用AutoIt做類似的事情,但是有時我不得不作弊,因為該語言沒有那么強大,或者僅僅是我很爛,而我卻不能用它做太多的事情:P

所以...我需要:

  • 截取屏幕截圖,然后我將它們進行比較以使程序“了解”,但需要“查看”
  • 使用鼠標:移動,單擊並釋放,很簡單,不是嗎?
  • 使用鍵盤:按某些鍵或組合鍵,包括AltCtrl等特殊鍵...

我該如何在python中做到這一點?
它可以在linux和Windows中使用嗎? (這可能真的很酷,但這不是必需的)

您可以在Windows下使用WATSUP

我使用PyWinAuto可以完成類似的任務。

pywinauto是一組用於自動化Microsoft Windows GUI的python模塊。 最簡單的是,它允許您將鼠標和鍵盤操作發送到Windows對話框和控件。

它還支持使用Python Imaging Library PIL捕獲對話框圖像等支持。

AutoIt完全可以完成您提到的所有事情。 當我想做一些自動化但使用Python的功能時,我發現使用DLL / COM控件AutoItX最容易。

從我的這個答案中得出

import win32com.client
oAutoItX = win32com.client.Dispatch( "AutoItX3.Control" )

oAutoItX.Opt("WinTitleMatchMode", 2) #Match text anywhere in a window title

width = oAutoItX.WinGetClientSizeWidth("Firefox")
height = oAutoItX.WinGetClientSizeHeight("Firefox")

print width, height

如果您對Pascal感到滿意,那么一個非常強大的鍵盤/鼠標/屏幕讀取程序就是SCAR: http : //freddy1990.com/index.php? page= product& name= scar它可以進行OCR,位圖查找,顏色查找等。 。它通常用於自動化在線游戲,但是它可以用於您要模擬人類閱讀屏幕並提供輸入的任何情況。

過去,我曾使用Windows(僅) 輸入API編寫類似於VNC的遠程控制應用程序。 它使您可以在系統級別很好地偽造鍵盤和鼠標輸入(即,不僅將事件發布到單個應用程序)。

如果您想在GUI級別上對整個系統進行任何形式的自動化測試,那么這份描述自動化響應性測試的出色USENIX論文是必讀的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM