Guten Abend,
ich versuche mich gerade daran, einen Login per Skript zu automaitisieren.
Die Anwendung vorab: Es soll ein Weihnachtsgeschenk werden, nämlich ein kleines Display, das den aktuellen Zustand der Solaranlage bei meinen Eltern zeigt. Die Hardware ist ein Raspberry Pi 4 mit einem Display, auf dem ein FullpageOS läuft. Da keine Eingabehardware vorgesehen ist, soll sich der Pi beim Start automatisch auf dem Webserver des KOSTAL KSEM (das ist das Energymeter) einloggen, woraufhin die aktuellen Energieflüsse dargestellt werden.
Das KSEM ist von außerhalb des lokalen Netzes nicht erreichbar, weshalb ich keine Sicherheitsbedenken habe, das Passwort in einem Skript zu verankern.
Hinweis: Die folgende Fehlerbeschreibung ist bisher nur auf dem PC getestet.
Ich konnte ein Skript anlegen, das das Passwort ausfüllt und auch das Absenden per button.click() funktioniert. ABER: Das Passwort wird als falsch markiert. Natürlich übergebe ich dem Skript das richtige Passwort und konnte sogar nachvollziehen, dass es genügt, hinter dem per Skript ausgefüllten Passwort ein Zeichen zu tippen wieder zu löschen. Dann wird das Passwort als richtig erkannt.
Es scheint also, als würde das Passwortfeld noch irgendwelche Randbedingungen prüfen. Hat jemand von euch eine Idee, was ich hier tun kann? Die Tastendrücke dem Eingabefeld manuell zu übergeben habe ich probiert, das geht leider nicht.
Sogar mit Begründung: https://stackoverflow.com/questions/45457875/programmatically-send-keys-to-input-using-dispatchevent
Hier noch mein Skript: (Das Setinterval wird benötigt, weil ich abwarten muss, bis das Popup mit der Passwortabfrage aufgeht).
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
Ja, das mit den festen Indizes ist nicht schön, funktioniert aber erstmal und der Webserver wird sich wohl auch nicht mehr ändern...
Falls jemand eine alternative Lösung für mein Problem hat: Gerne :)
Schonmal vielen Dank für eure Hilfe Karsten
