PyWinAuto - Problem mit Parent und Child

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
unix
User
Beiträge: 16
Registriert: Dienstag 20. Januar 2009, 16:22

Hallo,
ich arbeite gerade an einem kleinen Script, welches sich automatisch durch ein Programm durchklickt.
Dabei arbeite ich meist mit dem Schema:

Code: Alles auswählen

    app = application.Application()
    app.Start_("programm.exe")
    dialog = app.window_(title = "Apfelkuchen")
Dabei klicke ich an einer Stelle im Programm, in der sich ein Dialog öffnet, der ebenfalls Apfelkuchen als Titel beinhaltet und einen OK-Button.
Diesen würde ich nun gerne klicken, allerdings bekomme ich dann die Meldung, dass er nicht weiß wo er klicken soll, weil er zwei Fenster mit besagtem Namen findet.
Nun habe ich aus der Doku erfahren, dass es wohl mit

Code: Alles auswählen

    temp = findwindows.find_windows(title = "Apfelkuchen")
möglich ist nach Fenstern zu suchen.
Ein einfaches print temp gibt mir dann auch folgendes aus:
234913, 215672
Was ich nun nicht herausgefunden habe und gerne wissen würde, ist, wie ich nun den OK-Button beim zweiten Fenster (welches sich öffnet wenn man einen Button beim Hauptprogramm klickt) anklicken kann.

Kann mir dazu jemand helfen? :)
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Mit dem find bekommst ja wohl die Referenzen auf die 2 Fenster.
Die eine Referenz hast ja schon ( ``dialog``).
Dann musst einfach die andere nehmen ;-)

Wenn du keine Referenzen bekommst dann schau dir mit nem Debugger deine ``dialog`` Variable und den Return von der find Funktion an, und schau wie du die zusammenbringen kannst.

Ich hoffe mal es ist klar was ich meine^^
unix
User
Beiträge: 16
Registriert: Dienstag 20. Januar 2009, 16:22

Was du meinst verstehe ich, allerdings weiß ich nicht genau wie ich über die Referenz arbeite.
D.h. wie genau sieht der Code aus, damit ich das Fenster mit der Referenz 215672 bzw. deren OK-Button anspreche?
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Hab leider nur den rein in python gedachten Lösungsvorschlag, weil ich von dem entsprechenden Modul keine Ahnung habe ;)
Dazu solltest du dir einfach die Referenz davon anschauen.
Antworten