Programme en ligne de commande pour créer des captures d'écran de sites Web (sous Linux) [fermé]

StackOverflow https://stackoverflow.com/questions/125951

  •  02-07-2019
  •  | 
  •  

Question

Qu'est-ce qu'un bon outil de ligne de commande pour créer des captures d'écran de sites Web sous Linux? J'ai besoin de générer automatiquement des captures d'écran de sites Web sans interaction humaine. Le seul outil que j’ai trouvé est khtml2png , mais je me demande s’il en existe d’autres qui ne sont pas basés sur khtml ( c'est à dire avoir un bon support JavaScript, ...).

Était-ce utile?

La solution

Un peu plus de détails pourraient être utiles ...

Démarrez un firefox (ou un autre navigateur) dans une session X, soit sur votre console, soit à l'aide d'un vncserver. Vous pouvez utiliser les options - height et - width pour définir la taille de la fenêtre en plein écran. Une autre commande firefox peut être utilisée pour définir l'URL affichée dans la première fenêtre de firefox. Vous pouvez maintenant saisir l’image à l’écran à l’aide de plusieurs commandes, telles que la commande " import " commande du paquet Imagemagick, ou en utilisant gimp, ou fbgrab, ou xv.

#!/bin/sh

# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768

# start firefox in this vnc session
firefox --display :11

# read URLs from a data file in a loop
count=1
while read url
do
    # send URL to the firefox session
    firefox --display :11 $url

    # take a picture after waiting a bit for the load to finish
    sleep 5
    import -window root image$count.jpg

    count=`expr $count + 1`
done < url_list.txt

# clean up when done
vncserver -kill :11

Autres conseils

Essayez le bel outil CutyCapt , qui dépend uniquement de Qt et QtWebkit. ;)

Consultez le PhantomJS , qui semble être un moteur Webkit gratuit et performant fonctionnant sous Linux, OSX et Windows. Je ne l'utilise pas depuis que nous utilisons actuellement Browshot (solution commerciale), mais lorsque tous nos crédits seront épuisés, nous aurons sérieusement un butin à il (puisqu'il est gratuit et peut fonctionner sur nos serveurs)

scrot est un outil de ligne de commande permettant de prendre des captures d'écran. Voir la page de manuel et cette tutoriel .

Vous pouvez également envisager de créer un script pour le navigateur. Il existe des modules complémentaires à Firefox qui prennent des captures d’écran, telles que screengrab (qui peut capturer la page entière si vous le souhaitez, pas seulement le bit visible) et vous pouvez ensuite scripter le navigateur avec greasemonkey pour prendre les captures d'écran.

Voir Webkit2png .

Je pense que c'est ce que j'ai utilisé dans le passé.

Modifier Je découvre que je n'ai pas utilisé ce qui précède, mais que j'ai trouvé cette page avec des critiques de nombreux programmes et techniques.

Je sais que ce n'est pas un outil de ligne de commande, mais vous pouvez facilement créer un script à utiliser. http://browsershots.org/ Inutile pour les applications non hébergées sur des adresses IP externes.

Néanmoins, un excellent outil.

Je ne connais rien de construit sur mesure, je suis sûr que le moteur de gecko pourrait être rendu dans un fichier png au lieu de l'écran ...

Vous pouvez également lancer firefox en mode plein écran dans une instance de serveur VNC dédiée et utiliser une carte de capture d'écran pour prendre la capture d'écran. Plein écran = chrome minimal, instance de serveur VNC = aucune interface utilisateur visible + possibilité de choisir votre résolution.

Utilisez xinit avec Xvnc en tant que serveur X à cette fin. Vous devrez lire toutes les pages de manuel.

Les inconvénients sont que la capture d'écran a toujours la même taille, ne redimensionne pas en fonction de la page Web ...

Il existe la commande importer , mais vous aurez besoin de X et d'un petit script bash qui ouvre la fenêtre du navigateur, puis prend la capture d'écran et ferme le navigateur.

Vous pouvez trouver plus d'informations ici ou simplement en tapant import --help dans un shell;)

http://khtml2png.sourceforge.net/

Le fichier deb

a travaillé sur mon Ubuntu après l’installation de libkonq4 ... mais vous devrez peut-être couvrir d’autres dépendances.

Je pense que le support javascript est peut-être mieux maintenant!

Stephan

Pas pour la ligne de commande, mais au moins pour une utilisation en mode batch pour un plus grand nombre d’URL, vous pouvez utiliser firefox avec son addon Fireshot (version sous licence?).

  1. Ouvrez les onglets pour toutes les URL de votre ensemble (par exemple, "Ouvrir les onglets pour tous les signets de ce dossier ...".
  2. Puis, lors du lancement par tir de feu "Capture de tous les onglets"
  3. Dans la fenêtre d'édition, appelez " sélectionner tous les plans - > enregistrer tous les plans "

Après avoir défini les propriétés de la capture d'écran (taille, format de fichier, etc.) avant de terminer avec un bel ensemble de fichiers .foot.

Steffen

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top