pywinauto_確定你的程序該使用uia還是win32模式


一旦你安裝了pywinauto - 你怎么樣?第一個必要的事情是確定哪種可訪問性技術(pywinauto的后端)可以用於您的應用程序。

from pywinauto.application import Application
app = Application(backend="uia").start("redcore.exe")     #這一行配置使用哪種模式
app.UntitledNotepad.menu_select("幫助(H)->關於記事本(&A)")
app.AboutNotepad.確定.click()
app.UntitledNotepad.Edit.type_keys("pywindows !",with_sbaces = true)

 

Windows上支持的輔助功能技術列表:

  • Win32 API backend="win32" ) - 現在的默認后端
    • MFC,VB6,VCL,簡單的WinForms控件和大多數舊的遺留應用程序
  • MS UI Automation backend="uia"
    • WinForms,WPF,商店應用,Qt5,瀏覽器

    注意:Chrome --force-renderer-accessibility在啟動前需要cmd標志。由於comtypes Python庫限制,不支持自定義屬性和控件。

不支持:Java AWT / Swing,GTK +,Tkinter。

到目前為止,Linux上的AT SPI和Apple Accessibility API都是長期計划。

GUI對象檢查/間諜工具

如果您仍然不確定哪個后端最適合您,請嘗試使用免費提供的對象檢查/間諜工具:從GitHub repo gui-inspect-tool下載它們

我的共享網盤:鏈接: https://pan.baidu.com/s/1TR-w4Ypr3G1jcDceD88GEw 密碼: e87i

  • Spy ++包含在MS Visual Studio發行版(甚至是Express或Community)中,可通過“開始”菜單訪問。它使用Win32 API。這意味着如果Spy ++能夠顯示所有控件,那么"win32"后端就是您所需要的。 AutoIt窗口信息工具是一種Spy ++克隆。

  • Inspect.exe是Microsoft創建的另一個很棒的工具。它包含在Windows SDK中,因此可以在x64 Windows上的以下位置找到它:

    C  \ Program Files x86  \ Windows Kits \ < winver > \ bin \ x64 

    將Inspect.exe切換到UIA模式(使用MS UI Automation)。如果它可以顯示比Spy ++更多的控件及其屬性,可能"uia" 后端是你的選擇。

如果所有檢測工具都看不到某些或所有控件,則仍然可以通過使用基本模塊鼠標鍵盤生成鼠標和鍵盤事件來控制應用程序

 

 

 


免責聲明!

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



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