Eine Weboberfläche von Anfang bis Ende verwalten
Eine Oberfläche hinter einer Anmeldung in mehreren Schritten bedienen: was das mit Dinoer möglich macht, und wo es endet.
Das ist nicht die Aufgabe, für die Dinoer gebaut ist, aber sein Browserkern
kann sie noch: rpa.py bedient eine Oberfläche hinter einer Anmeldung, in
mehreren Schritten, wie ein Mensch es täte. Nutzen Sie es, wenn die Aufgabe
Konfiguration ist und keine Recherche.
Hinter einer HTTP-Basic-Abfrage
Ein Ziel, das zusätzlich zur Anmeldeseite der Anwendung durch die HTTP-Basic-Authentifizierung eines Proxys geschützt ist:
{"http_credentials": true, "url": "https://target.local/admin", "actions": [...]}
Das Szenario nennt weiterhin kein Geheimnis: http_credentials weist Dinoer
an, http_username und http_password aus der Datei mit den Zugangsdaten zu
lesen und sie dem Browser nur für die Herkunft des Ziels zu übergeben.
Was diesen Fall funktionieren lässt
Ein Aufruf für alles, was vom Seitenzustand abhängt. Anmelden, handeln, prüfen, in einem Aufruf. Auf mehrere Aufrufe verteilt, geht der Seitenzustand ohne Warnung verloren: Eine gespeicherte Sitzung enthält nur Cookies und lokalen Speicher, nie das, was auf dem Bildschirm offen war.
Eine Prüfung am Anfang. Ist die Seite nicht die erwartete, halten Sie an, bevor etwas eingetippt wird:
{"type": "evaluer", "script": "document.title", "contient": "Sign in"}
Das verschlüsselte Verzeichnis für alle Zugangsdaten.
{"type": "remplir", "selecteur": "input[name=\"username\"]",
"valeur": "depuis_secrets", "secret_cle": "username"},
{"type": "remplir", "selecteur": "input[name=\"password\"]",
"valeur": "depuis_secrets", "secret_cle": "password"},
{"type": "cliquer", "selecteur": "button[type=\"submit\"]"},
{"type": "attendre_selecteur_present", "selecteur": ".user-menu"}
Das Szenario lässt sich committen, weil es Schlüssel nennt, nie Werte.
Signale lesen, nicht nur das Urteil. Nach jedem Schritt: wo Sie wirklich
sind (boussole.url_courante), was der Server geantwortet hat
(boussole.dernier_code_http), ob die Sitzung angemeldet ist (auth_status,
mit auth_indicator).
Wo es endet
Operationen, die Minuten dauern, passen schlecht: Der Browserkern liefert eine abschließende Antwort, keinen Datenstrom, und ein Zeitlimit heißt nicht, dass etwas gescheitert ist, denn der Server arbeitet weiter, nachdem der Client nicht mehr wartet. Daten auf vielen unabhängigen Websites zu ändern ist nicht, wofür Dinoer gebaut ist; nutzen Sie die API des Ziels, falls es eine hat. Und nichts hier lässt sich rückgängig machen: Dinoer führt die Liste aus, die Sie geschrieben haben, in Maschinengeschwindigkeit.