Je veux faire une capture d'écran d'une page avec Chrome Headless, et nous avons vu --screenshot
les --virtual-time-budget
commutateurs et pour prendre une capture d'écran et limiter l'attente du navigateur pour le temps de chargement.
J'ai cependant des éléments sur la page qui attendent que DOMContentLoaded soit rendu, et nous voulons les capturer aussi.
Je cherche un moyen de prendre une capture d'écran, disons, 5 secondes après le chargement de la page, au lieu de la droite lorsqu'elle est considérée comme chargée.
Nous appelons Chrome Headless à partir de notre application NodeJS comme ceci:
cp.spawnSync("google-chrome-beta", ["--headless", "--disable-gpu", "--screenshot", "--profile-directory=Default", "--window-size=1920,6200", "--virtual-time-budget=25000", url]);
Nous savons qu'il existe des bibliothèques npm possibles qui peuvent y parvenir en utilisant une API à partir d'un nœud, au lieu d'utiliser des commutateurs de ligne de commande, mais nous sommes préoccupés par la stabilité (l'équipe Chrome aime casser régulièrement toutes leurs API internes).
TL; DR
Est-il possible de faire attendre Chrome Headless quelques secondes après le chargement de la page avant de prendre une capture d'écran?
nodejs index.js --url="http://www.eff.org" --delay=5000
pendant 5 secondes.