2017-02-02 9 views
0

此代碼我沒有得到的第一個可用RICHEDIT60W:無法從第一RICHEDIT60W子標題中的Lync

from pywinauto.application import Application 
app = Application().connect(class_name='CommunicatorMainWindowClass') 
window = app.window(class_name='CommunicatorMainWindowClass') 

window.NetUINativeHWNDHost.NetUIHWND.print_control_identifiers() 

print() 
rich_edit = window.NetUINativeHWNDHost.NetUIHWND.NetUICtrlNotifySink.RICHEDIT60W 
print("rich_edit:", rich_edit.WindowText()) 

控制檯:

Control Identifiers: 

NetUIHWND - '' (L162, T378, R562, B957) 
['', '1', 'NetUIHWND', '0'] 
child_window(class_name="NetUIHWND") 
    | 
    | NetUICtrlNotifySink - '' (L186, T408, R537, B425) 
    | ['2', 'NetUICtrlNotifySink1', 'NetUICtrlNotifySink', 'NetUICtrlNotifySink0'] 
    | child_window(class_name="NetUICtrlNotifySink") 
    | | 
    | | RICHEDIT60W - '///' (L186, T408, R537, B425) 
    | | ['RICHEDIT60W0', '///RICHEDIT60W', 'RICHEDIT60W1', '///', 'RICHEDIT60W'] 
    | | child_window(title="///", class_name="RICHEDIT60W") 
    | 
    | RICHEDIT60W - '///' (L186, T408, R537, B425) 
    | ['RICHEDIT60W0', '///RICHEDIT60W', 'RICHEDIT60W1', '///', 'RICHEDIT60W'] 
    | child_window(title="///", class_name="RICHEDIT60W") 
    | 
    | NetUICtrlNotifySink - '' (L184, T548, R515, B562) 
    | ['3', 'NetUICtrlNotifySink2'] 
    | child_window(class_name="NetUICtrlNotifySink") 
    | | 
    | | RICHEDIT60W - 'qwerty' (L184, T548, R515, B562) 
    | | ['RICHEDIT60W2', 'qwerty', 'qwertyRICHEDIT60W'] 
    | | child_window(title="qwerty", class_name="RICHEDIT60W") 
    | 
    | RICHEDIT60W - 'qwerty' (L184, T548, R515, B562) 
    | ['RICHEDIT60W2', 'qwerty', 'qwertyRICHEDIT60W'] 
    | child_window(title="qwerty", class_name="RICHEDIT60W") 
    | 
    | NetUICtrlNotifySink - '' (L162, T378, R162, B378) 
    | ['4', 'NetUICtrlNotifySink3'] 
    | child_window(class_name="NetUICtrlNotifySink") 

rich_edit: qwerty 

lync

按列表中的元素,第一個必須是「///」而不是「qwerty」

問題是什麼?

如何獲得帶有「///」的項目?

+0

以後我可以看看,但最好使用'應用程序(後端=「UIA」)'爲Lync。閱讀[入門指南](https://pywinauto.readthedocs.io/en/latest/getting_started.html)瞭解更多詳情。 –

回答

0

竟然做出這樣:

import pywinauto 
window = pywinauto.findwindows.find_element(title_re='Microsoft Lync.*') 
child = window.children()[3] 
print(child.rich_text) # ///