Ich möchte mit Chrome Headless einen Screenshot von einer Seite machen. Wir haben sowohl --screenshot
den --virtual-time-budget
Schalter als auch den Schalter zum Erstellen eines Screenshots und zum Begrenzen der Wartezeit des Browsers auf die Ladezeit gesehen.
Ich habe jedoch Elemente auf der Seite, die darauf warten, dass DOMContentLoaded gerendert wird, und wir möchten diese auch erfassen.
Ich suche nach einer Möglichkeit, einen Screenshot zu machen, zum Beispiel 5 Sekunden nach dem Laden der Seite, anstatt nach der richtigen, wenn sie als geladen betrachtet wird.
Wir rufen Chrome Headless aus unserer NodeJS-Anwendung folgendermaßen auf:
cp.spawnSync("google-chrome-beta", ["--headless", "--disable-gpu", "--screenshot", "--profile-directory=Default", "--window-size=1920,6200", "--virtual-time-budget=25000", url]);
Wir wissen, dass es mögliche npm-Bibliotheken gibt, die dies mithilfe einer API von Node erreichen können, anstatt Befehlszeilenoptionen zu verwenden. Wir sind jedoch besorgt über die Stabilität (das Chrome-Team unterbricht regelmäßig alle internen APIs).
TL; DR
Gibt es eine Möglichkeit, Chrome Headless nach dem Laden der Seite einige Sekunden warten zu lassen, bevor ein Screenshot erstellt wird?
nodejs index.js --url="http://www.eff.org" --delay=5000
für 5 Sekunden Verzögerung.