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):

  1. Open Developer tools
  2. Toggle the device toolbar
  3. Set the desired resolution in the device toolbar
  4. Select the More options overflow menu in the device toolbar
  5. Select Capture screenshot or Capture full size screenshot
  6. The screenshot will be saved to your Downloads folder