How can I take a full page screenshot of a webpage from the command line?
Here a list of applications that you can use from terminal:
- wkhtmltopdf (source)
wkhtmltopdf is a command line utility that converts html to pdf using webkit rendering engine.
sudo apt-get install wkhtmltopdf
- wkhtmltoimage (source)
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 (source)
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 (source)
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 (source)
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<br /><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.
Related videos on Youtube
coversnail
Updated on September 18, 2022Comments
-
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 about 12 years
shutter
can do command line screenshots too in case you do not need to stick withcutycapt
. -
Maythux about 10 years
-
-
Curious Apprentice almost 12 yearsYou have to install it on Firefox browser. There is also a extension for Google Chrome/Chromium. Search for "Screen Capture" on google.
-
Rinzwind almost 12 yearsIt needs to be from command line.
-
Braiam about 10 yearsCould you reduce this answer to a single tool and explain how to use it?