Mit pywinauto, wie bekomme ich Text statischer text, Objekt, da das handle des übergeordneten dialog

1. Mein code:

print ('##########')  
app = pywinauto.application.Application()  
window_handle = pywinauto.findwindows.find_windows(title = u'My Dialog Name')  
my_handle = window_handle[0]  
window = app.window_(handle = my_handle)  
for x in window.Children():  
    print ('Child %s' % x)  
print ('##########')  

Ausgabe:
##########
Kind: < pywinauto.controls.HwndWrapper.HwndWrapper Objekt in 0x02C12890>
Kind: < pywinauto.controls.win32_controls.ButtonWrapper Objekt in 0x02C12870>
Kind: < pywinauto.controls.HwndWrapper.HwndWrapper Objekt in 0x02C128B0>
Kind: < pywinauto.controls.win32_controls.StaticWrapper Objekt in 0x02C128F0>
##########

Möchte ich den text des Kindes: pywinauto.controls.win32_controls.StaticWrapper Objekt in 0x02C128F0>. Dazu Brauch ich das handle des static text. Ich nehme an, ich sollte in der Lage sein, um die Ableitung der Griff zu den statischen text aus dem übergeordneten dialog, aber ich habe keine Ahnung, wie. Ich weiß, dass, sobald ich den Griff, ich kann nur Fenster.Texte().

Entschuldigen uns im Voraus für die Formatierung meiner Frage, zuerst timing es hier. Vielen Dank für jede Hilfe.

  • Ausgezeichnet! Vielen Dank für die Hilfe. Ich habe folgende Methode: my_dialog_name = u’My Dialog Name‘ text_result = app.my_dialog_name.Static3.Texte()
  • Gut. Bitte markieren Sie die Antwort als angenommen, wenn es Ihr problem löst. Es wird als höflich angesehen, am SO. Sie können drücken Sie die Kontrollkästchen unter voting-buttons (Sie annehmen können eine Antwort, auch wenn Sie noch nicht genug Ruf zu Stimmen, bis).
  • Sorry, ich hatte sah überall für eine Schaltfläche, die zeigte, dass die Antwort akzeptiert wurde gestern. Schließlich fand Sie den Haken heute.

 

One Reply
  1. 2

    Warum versuchen Sie nicht, nach Ihrer „Static“ mit pywinauto builtin-Namensauflösung? Sagen wir, ich habe ausgeführt, Rechner-Anwendung mit text „78“ auf das Ergebnis. Ich schließen Sie die Anwendung und starten Sie auf der Suche für ein „Statisches“ element „Taschenrechner“ – dialog. Da ich nicht den genauen Namen kennen, ich versuche nur zu erraten. Ich ziehe meine debug-Konturen in verschiedenen Farben, bis ich die Kontrolle, die ich brauche. Nach und nach fand ich die Steuern kann ich problemlos Lesen, den text. (Lesen Sie mehr in pywinauto docs hier zum angeben von Kontrollen auf ein Dialogfenster.)

    In [1]: from pywinauto.application import Application
    
    In [2]: app = Application()
    
    In [3]: app.connect(path="calc.exe")
    Out[3]: <pywinauto.application.Application at 0x54362b0>
    
    In [4]: app.Calculator.Static.DrawOutline()
    Out[4]: 
    
    In [5]: app.Calculator.Static2.DrawOutline("red")
    Out[5]
    
    In [6]: app.Calculator.Static3.DrawOutline("blue")
    Out[6]
    
    In [7]: app.Calculator.Static3.Texts()
    Out[7]: [u'78']

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.