Gibt es ein Pywinauto-Äquivalent zur Automatisierung der GUI von Python?

7

pywinauto ist eine Reihe von Python-Modulen zur Automatisierung der Microsoft Windows-Benutzeroberfläche. Im einfachsten Fall können Sie Maus- und Tastaturaktionen an Windows-Dialoge und -Steuerelemente senden.

Gibt es ein Linux-Äquivalent zu diesem Python-Modul?

Vielen Dank!

Jim Syyap
quelle
Sie werden bald in der Lage sein, Ihr eigenes Backend für pywinauto zu schreiben.
Vasily Ryabov

Antworten:

4

Das Linux Desktop Testprojekt (ldtp) sollte das bieten, was Sie brauchen. Mit dem Paket python-ldtp Installieren Sie python-ldtp können Sie Skripte in Python schreiben. Das Projekt verwendet die Eingabehilfenmethoden, um Aktionen auszuführen. Daher muss die betreffende Anwendung eine „Standard“ -Anwendung von GTK / QT /… sein und Sie müssen die Eingabehilfen aktivieren („Hilfstechnologien“).

sudo apt-get install python-ldtp

Das folgende Python-Skript klickt in einem (bereits vorhandenen) gedit-Fenster auf die Schaltfläche "Neu" und gibt die Zeichenfolge ein foo:

#!/usr/bin/python

from ldtp import *
from ldtputils import *
click('*-gedit', 'btnNew') 
generatekeyevent('foo')
Marcel Stimberg
quelle
0

Sie können Sikuli (jetzt SikuliX genannt) verwenden.

URL: www.sikuli.org

Laut der Website:

SikuliX automatisiert alles, was Sie auf dem Bildschirm Ihres Desktop-Computers unter Windows, Mac oder Linux / Unix sehen. Es verwendet die von OpenCV unterstützte Bilderkennung, um GUI-Komponenten zu identifizieren und zu steuern. Dies ist praktisch, wenn kein einfacher Zugriff auf die Interna einer GUI oder den Quellcode der Anwendung oder Webseite besteht, auf die Sie reagieren möchten.

SikuliX unterstützt als Skriptsprachen:

  • Python-Sprachstufe 2.7 (unterstützt von Jython)
  • Ruby-Sprachstufe 1.9 und 2.0 (unterstützt von JRuby)

… Und Sie können es in der Java-Programmierung und Programmierung / Skripterstellung mit jeder Java-fähigen Programmier- / Skriptsprache (Jython, JRuby, Scala, Clojure,…) verwenden.

Obwohl SikuliX derzeit auf keinem mobilen Gerät verfügbar ist, kann es mit den jeweiligen Emulatoren auf einem Desktop-Computer oder basierend auf VNC-Lösungen verwendet werden.

Bitte beachten Sie, dass es sich um eine Beta-Version handelt.

Edenshaw
quelle