Wie kann man z.B. einen Click am Button in einer Software per Eingabeaufforderung in Linux-Shell ausführen?

Waldelb3  15.05.2021, 23:56

Was genau willst du machen?

ToniKim 
Beitragsersteller
 15.05.2021, 23:58

Ich muss die Clickerei per Eingabeaufforderung in einem Befehl zusammenfassen. Da müssen ein Paar csv-Dateien von einer GUI-Software runtergezogen werden, zuviele Clicks.

Waldelb3  15.05.2021, 23:59

Ich habe noch immer keine Ahnung, was du vorhast. Kannst du das genauer beschreiben?

ToniKim 
Beitragsersteller
 16.05.2021, 00:01

Da ist eine Software für die Buchhaltung. Um Daten zu extrahieren, muss viel an der Software geclickt werden. Ich muss den Clickprozess automatisieren.

Waldelb3  16.05.2021, 00:02

Wäre es da nicht einfacher, das Programm selbst zu modifizieren?

ToniKim 
Beitragsersteller
 16.05.2021, 00:03

geht nicht, weil nicht meins

Waldelb3  16.05.2021, 00:03

Was hat das Terminal mit der Aufgabe zu tun?

ToniKim 
Beitragsersteller
 16.05.2021, 00:04

tja, ich brauche die csv die die Software hat, um mit denen weiterzuarbeiten.

Waldelb3  16.05.2021, 00:05

Aber wieso Terminal? Ich dachte, das ist ein GUI-Programm?

ToniKim 
Beitragsersteller
 16.05.2021, 00:05

ja ist GUI, aber ich will den Prozess per Terminal mit einem Befehl starten.

Waldelb3  16.05.2021, 00:06

Also du willst per Terminal das Programm starten und dann direkt automatisch auf ein paar Knöpfe drücken?

ToniKim 
Beitragsersteller
 16.05.2021, 00:06

ja, sowas

Waldelb3  16.05.2021, 00:06

Also du willst ein Skript schreiben?

ToniKim 
Beitragsersteller
 16.05.2021, 00:07

ja, aber ich weiß nicht, wie man den Befehl von Buttonclick heraus findet

3 Antworten

Nachdem ich die ganzen Nachfragen gelesen habe, das ganze kannst du mit einem AHK-Script machen. Einfach runterladen und Scripten/ausprobieren.

https://www.autohotkey.com/

Woher ich das weiß:Studium / Ausbildung – Studium in theoretischer Informatik (Master)

Ein simples Beispiel in Python mit Tkinter, dass den Befehl in einem xterm Fenster ausführt:

import tkinter
import subprocess

root = tkinter.Tk()

def ausfuehren():
    befehl = "xterm -hold -e '" + eingabefeld.get() + "'"
    subprocess.call(befehl, shell=True)

eingabefeld = tkinter.Entry(root)
button = tkinter.Button(text="Button", command=ausfuehren)

eingabefeld.pack()
button.pack()


root.mainloop()

(falls du sowas meinst)


LiemaeuLP  16.05.2021, 00:20

Das führt dann den eingegebenen Befehl aus. Das Eingabefeld kannst du natürlich weg lassen und den Befehl direkt eingeben (kann natürlich auch zB ein Skript mit mehreren Befehlen ausführen).

Meinst du einen Starter anlegen - wenn du den auf der grafischen Oberfläche anklickst ,wird die Anwendung gestartet?

So habe ich einige Anwendungen per Bash oder mit C++ realisiert. Auf dem Desktop klicke ich auf das Ikone und das Programm läuft dann auf der Konsole ab.

Woher ich das weiß:eigene Erfahrung