Diwall

Deutsch
Herunterladen 1.24.4

Die Operation dauert mehrere Minuten, und Sie sehen nichts, bis sie endet

Ein Klon, ein Import, eine Massenaktualisierung. Diwall nimmt am Ende auf – ein Fehlschlag nach dreißig Sekunden kostet Sie also die ganze Wartezeit. Wie Sie Zwischenansichten bekommen, und warum ein überschrittenes Zeitlimit kein Fehlschlag ist.

Das Symptom. Sie stoßen etwas Langsames an – das Klonen einer Website, einen Import, eine Massenaktualisierung – und warten. Diwall nimmt einmal auf, am Ende. Währenddessen zeigt die Oberfläche vielleicht einen Ladeindikator, einen Fortschrittsbalken, Live-Protokolle: Sie sehen nichts davon.

Scheitert die Operation nach dreißig Sekunden, erfahren Sie es drei Minuten später. Und jede Wiederholung Ihres Szenarios kostet erneut die volle Dauer.

Warum das so ist

Diwall arbeitet mit einem Aufruf und einer abschließenden Aufnahme. Es ist eine Beobachtung am Ende, kein Strom – genau das macht einen Lauf reproduzierbar und seine Ausgabe zu einem einzigen lesbaren JSON. Der Preis dieser Entscheidung ist genau diese Situation.

Unterwegs aufnehmen

interval_capture macht während einer Wartezeit alle N Sekunden eine Aufnahme. Es ist ein Parameter pro Aktion, verfügbar bei attendre, pause und attendre_navigation:

{"type": "attendre", "selecteur": ".clone-done", "interval_capture": 10}

Die Zwischenaufnahmen landen in stream_captures[] der JSON-Ausgabe. Sie warten trotzdem den ganzen Lauf ab, haben danach aber eine Bildfolge statt eines einzelnen Bildes – genug, um zu sehen, wo es gebrochen ist, nicht nur, dass es gebrochen ist.

--interval-capture N auf der Kommandozeile setzt einen Standardwert für jede Aktion, die ihn unterstützt; der Wert in der Aktion hat Vorrang.

Auf ein Signal warten, nicht auf eine Dauer

Verwenden Sie pause nicht, um auf das Ende einer Operation zu warten.

Eine feste Pause kann sich nicht anpassen. Stellen Sie zehn Sekunden ein: Eine Operation, die fünfzehn braucht, liefert Ihnen eine veraltete Aufnahme einer noch laufenden Arbeit; eine, die zwei braucht, verschwendet bei jeder Wiederholung acht Sekunden. Beide Fehler passieren lautlos.

[
  {"type": "cliquer_som", "id": 7},
  {"type": "attendre_absence", "selecteur": ".spinner"},
  {"type": "attendre_selecteur_present", "selecteur": ".result-container"},
  {"type": "capturer", "nom": "result"}
]

Warten Sie, bis der Ladeindikator verschwindet, dann, bis das Ergebnis kommt. Das Szenario dauert jetzt genau so lange wie die Operation – nicht mehr, nicht weniger. Behalten Sie pause für das, wofür es taugt: eine gewollte Verzögerung, keine Wette auf eine Dauer.

Zwei Zeitlimits, und es ist nicht dasselbe

OptionWas sie abdecktStandard
--timeoutjede einzelne Playwright-Operation10 000 ms
--screenshot-timeoutdie Aufnahme selbst120 000 ms

Eine lange Operation braucht meist ein höheres erstes Zeitlimit. Das zweite zu erhöhen, hilft nur, wenn die Aufnahme selbst ins Zeitlimit läuft – eine sehr hohe Seite, eine schwere Darstellung.

diwall-rpa --scenario clone.json --timeout 300000 --guide-version 1.3

Ein Zeitlimit ist kein Fehlschlag – prüfen, bevor Sie es erneut versuchen

Ein Absenden, das ins Zeitlimit läuft, kann gelungen sein. Der Server hört nicht auf zu arbeiten, weil der Client aufgehört hat zu warten.

Tatsächlich beobachtet: ein Klon, ausgelöst durch einen klassischen POST ohne AJAX, sodass die HTTP-Anfrage offen blieb, bis der Server fertig war. Der Klick endete nach zwanzig Sekunden mit TimeoutError. Der Klon war bereits gestartet und wurde fertig – auf die harte Tour bestätigt, indem die Operation „sauber“ mit großzügigem Zeitlimit wiederholt wurde und einen zweiten, identischen Klon ergab.

Bevor Sie also eine lange, verändernde Operation wiederholen: Sehen Sie sich das Ziel an. Ein TimeoutError bei einem Klick heißt, dass Playwright nicht mehr gewartet hat, sonst nichts.

Kurz gesagt

  • interval_capture liefert eine Bildfolge statt eines einzigen Schlussbildes.
  • Auf ein DOM-Signal warten, nie auf eine feste Dauer.
  • --timeout gilt pro Operation; --screenshot-timeout nur für die Aufnahme.
  • Eine langsame, verändernde Aktion nie wiederholen, ohne vorher das Ziel zu prüfen – sonst tun Sie es womöglich zweimal.