windows steuern

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.
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

windows steuern

Beitragvon jo_hb » Samstag 3. Mai 2008, 09:37

Hallo Forum,

nach längerer Abwesenheit habe ich nun mal wieder eine Python-Frage, habe dazu bisher im Forum nichts gefunden: Und zwar möchte ich per Python eine andere Anwendung steuern, d.h. buttons anklicken, Werte in Textboxen eintragen... Ich dachte am einfachsten wäre es wahrscheinlich mit meinem Python-script den Mauszeiger irgendwo hinzustellen und zu klicken, oder? Aber wie?
(Meine erste Idee dazu war sicher ein bisschen umständlich - es gibt ja verschiedene Freeware-programme, die genau das machen, also die Maus etc. anhand eines kleinen Scripts fernsteuern, zB Auto Hotkey... und dann dachte ich könnte mein Python-script ein AutoHotkey-script als textdatei erstellen und dann ausführen lassen... aber das kommt mir nun selbst dermassen um die Ecke gedacht vor dass ich lieber nochmal frage.. :)

Gruss,
Joerg
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: windows steuern

Beitragvon gerold » Samstag 3. Mai 2008, 11:32

jo_hb hat geschrieben:Und zwar möchte ich per Python eine andere Anwendung steuern, d.h. buttons anklicken, Werte in Textboxen eintragen...

Hallo Joerg!

http://www.python-forum.de/post-87392.html#87392

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Beitragvon jo_hb » Samstag 3. Mai 2008, 14:11

ja, genau, danke! Also das hab ich wohl übersehen... gibt halt viele treffer wenn man nach Maus sucht... :oops:
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Beitragvon jo_hb » Samstag 3. Mai 2008, 21:00

Hm, hab jetzt ein bisschen mit PyWinAuto rumprobiert, aber es scheint doch noch nicht ganz das richtige zu sein, weil es nämlich nur Windows-Anwendungen steuern kann - also zB mit Notepad klappt das schon, wenn ich da ein suchen-Fenster aufmache kann ich mit PyWinAuto auf die Buttons zugreifen... Aber was ich eigentlich steuern will ist eine Java-Applikation, da geht gar nichts. :(
(Also, genauer gesagt, wo ich mit PyWinAuto beim Notepad eine schöne Liste mit allen Buttons etc. bekomme, kriege ich bei dem Java-Fenster nur ein einziges Control gelistet, obwohl die Oberfläche auch voller Buttons ist...)

Daher die Anschlussfrage: Gibt es nicht ein toolkit oder so, mit dem ich einfach sowas machen kann wie

Code: Alles auswählen

window(handle).click(120,35)


...wobei window(handle) eben das Fenster wäre in dem das Java-Ding läuft und (120, 35) die Koordinaten innerhalb des Fensters, die ich anklicken will?

Hoffe es gibt sowas...
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Sonntag 4. Mai 2008, 11:32

jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Beitragvon jo_hb » Montag 5. Mai 2008, 07:23

Hab doch noch ne Lösung gefunden:

Code: Alles auswählen

>>> from pywinauto.controls.HwndWrapper import _perform_click_input
>>> _perform_click_input(coords=(10, 10))


...macht genau das was es soll, x und y sind absolute Bildschirmkoordinaten.

Das Mouse_event aus der win32api hab ich auch probiert, aber das hat im ersten Anlauf nicht geklappt... Danke trotzdem! :)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder