簡體   English   中英

pywinauto 功能區菜單不返回控件標識符

[英]pywinauto ribbon menu returns no control identifiers

我正在嘗試自動化一系列與給定軟件有關的任務。 我已經設法使用鍵盤控件“控制它”,但是為了擴展腳本的復雜性,我需要訪問功能區菜單。

到目前為止,我的代碼如下:

windows = pwa.Desktop(backend="win32").windows()
running_windows = [window.window_text() for window in windows]

midas_title = ""
target_title = "Civil"

for window in running_windows:
    if target_title in window:
        midas_title += window
    else:
        pass

app = pwa.Application().connect(title=midas_title)
app[midas_title].set_focus()

app.MidasGenMainFrmClass['MIDAS/Civil'].print_control_identifiers()
app.MidasGenMainFrmClass['BCGPRibbonBar:40000000:8:10003:10'].print_control_identifiers()

根據BCGPRibbonBar:40000000:8:10003:10的上/左和下/右坐標判斷,這似乎是我想要訪問的菜單,以便我可以單擊此功能區中的“結果”按鈕(我的最終目標),但是當我執行print_control_identifiers()時,我得到的輸出是這樣的:

BCGPRibbonBar:40000000:8:10003:10 - 'MIDAS/Civil'    (L0, T0, R1920, B174)
['MIDAS/CivilBCGPRibbonBar:40000000:8:10003:10', 'BCGPRibbonBar:40000000:8:10003:10', 'MIDAS/Civil']
child_window(title="MIDAS/Civil", class_name="BCGPRibbonBar:40000000:8:10003:10")

我對此很陌生,但似乎功能區沒有孩子?

似乎我太新,無法嵌入圖像,但請在此處鏈接到功能區菜單的外觀

最后,鏈接到我想點擊的“結果”菜單的檢查員圖像

希望這是足夠的信息,但如果有任何遺漏,請告訴我。

如果有人知道我可能做錯了什么,那將非常有幫助。

使用backend="uia"而不是backend="win32" 功能區控件僅對 UIA 后端可見。 Application(backend="uia")也是必須的。

暫無
暫無

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

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