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
pausenicht, 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
| Option | Was sie abdeckt | Standard |
|---|---|---|
--timeout | jede einzelne Playwright-Operation | 10 000 ms |
--screenshot-timeout | die Aufnahme selbst | 120 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_captureliefert eine Bildfolge statt eines einzigen Schlussbildes.- Auf ein DOM-Signal warten, nie auf eine feste Dauer.
--timeoutgilt pro Operation;--screenshot-timeoutnur 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.