How can I take a full page screenshot of a webpage from the command line?

6,561

Here a list of applications that you can use from terminal:

wkhtmltopdf is a command line utility that converts html to pdf using webkit rendering engine.

sudo apt-get install wkhtmltopdf

The wkhtmltoimage utility shall take the screenshot of a given url, and save it as a png image. It uses the webkit rendering engine.

Download : http://code.google.com/p/wkhtmltopdf/downloads/list

Usage :

To use the wkthmltoimage utility simple run the command from terminal, giving the url and the name for the image file.

$ ./wkhtmltoimage-amd64 http://www.google.com google.png

It will create google.png in home directory with the screenshot of www.google.com

Other options :

wkhtmltoimage provides many options to customise the screenshot. Some examples are as follows :

Quality - Controls the quality/compression of the generation image. Default is 94

$ ./wkhtmltoimage-amd64 --quality 50 http://www.google.com google.png

Disable images

$ ./wkhtmltoimage-amd64 --no-images http://www.google.com google.png

Disable javascript

$ ./wkhtmltoimage-amd64 --disable-javascript http://www.google.com google.png

Crop the screenshot

$ ./wkhtmltoimage-amd64 --crop-h 300 --crop-w 300 --crop-x 0 --crop-y 0 http://www.google.com googl

Cutycapt is a utility to take the screenshot of a url, using the webkit rendering engine and save it to an image file.

Install

sudo apt-get install subversion libqt4-webkit libqt4-dev g++ cutycapt

Usage To use cutycapt, simply run the command from the terminal, providing the url and the name for the output file.

$ cutycapt --url=http://www.google.com/ --out=google.png

It will create google.png file in home directory which would have the screenshot of www.google.com

khtml2png uses the konqueror rendering engine to create screenshots of web pages.

Download

http://khtml2png.sourceforge.net/index.php?page=download

Install

To install khtml2png, the program has to be compiled and build on the system.

sudo apt-get install kdelibs4-dev zlib1g-dev g++ cmake
Extract the khtml2png archive.
./configure
make
sudo checkinstall (this will create a deb file and install it , so that it can easily uninstalled later)

Usage To use khtml2png run the program from commandline providing the url and other options.

$ khtml2png2 --width 800 --height 600 http://www.google.com/ google.png

This would create a google.png in home directory with the screenshot of www.google.com.

Pywebshot uses python bindings embedded mozilla ( http://www.mozilla.org/unix/gtk-embedding.html )

Install

sudo apt-get install python-gtkmozembed

Download pywebshot from https://github.com/coderholic/PyWebShot

Usage :

$ python pywebshot.py www.google.com -t 1024x768&lt;br /&gt;<br />Loading www.google.com... saved as www.google.com.png

It should create a www.google.com.png in the directory which has the screenshot of size 1024 x 768.

Share:
6,561

Related videos on Youtube

coversnail
Author by

coversnail

Updated on September 18, 2022

Comments

  • coversnail
    coversnail over 1 year

    I have installed CutyCapt on my Linode VPS and using it to generate screenshots by following command.

    xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.png
    

    Its working great as expected. The only problem is what if the page can be scrolled vertically (ie. greater than 768 in height)? The screenshot will be chopped in that case. One possible solution is to take a longer height of screen (say, 2000), and then remove the white space from bottom. But that won't be an optimal solution.

    Can someone suggest me a better solution?

    • Rinzwind
      Rinzwind about 12 years
      shutter can do command line screenshots too in case you do not need to stick with cutycapt.
    • Maythux
      Maythux about 10 years
  • Curious Apprentice
    Curious Apprentice almost 12 years
    You have to install it on Firefox browser. There is also a extension for Google Chrome/Chromium. Search for "Screen Capture" on google.
  • Rinzwind
    Rinzwind almost 12 years
    It needs to be from command line.
  • Braiam
    Braiam about 10 years
    Could you reduce this answer to a single tool and explain how to use it?