Capture large webpage screenshot in Chrome
I ended up using PhantomJS in windows, I used...
screenshot.js
var page = require('webpage').create();
page.open('http://gigantic-web-page.com', function () {
page.render('test.png');
phantom.exit();
});
Dump this in your phantomjs folder, then one more file, screenshot.cmd
phantomjs --ignore-ssl-errors=yes --cookies-file=cookies.txt --web-security=no screenshot.js
With both of these files in your phantomjs folder, run screenshot.cmd... I just generated a 40mb png file of a gigantic page, it took a while and churned away but it finally output it!
If you are using chrome I would use CutyCapt it captures webkit's render to an image.
CutyCapt is a small cross-platform command-line utility to capture WebKit's rendering of a web page into a variety of vector and bitmap formats, including SVG, PDF, PS, PNG, JPEG, TIFF, GIF, and BMP. See IECapt for a similar tool based on Internet Explorer.
This can be achieved in Chrome as of v59:
Announcement in the developer blog
Video tutorial
Summary of steps (if you prefer text):
- Open Developer tools
- Toggle the device toolbar
- Set the desired resolution in the device toolbar
- Select the More options overflow menu in the device toolbar
- Select Capture screenshot or Capture full size screenshot
- The screenshot will be saved to your Downloads folder