По PhantomjS умолчанию браузер (который используется CasperJS) оказывает всю высоту страницы автоматически. В CasperJS соответствующий метод
casper.capture()
Чтобы установить горизонтальную ширину страницы, установить окна проекции размер:
var casper = require('casper').create({
viewportSize: {width: 1280, height: 800}
});
Эта настройка влияет только на ширину на скриншоте, высота будет настолько большой, насколько это необходимо, чтобы отобразить всю страницу.
Пример:
var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
pageSettings: {
userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
}
});
casper.options.viewportSize = {width: 1280, height: 1024};
casper.start("http://stackoverflow.com/questions/tagged/phantomjs");
casper.then(function() {
casper.capture("stackoverflow.png");
});
casper.run();
The resulting image (439 kb) является 3448 пикселей в высоту, который намного больше, чем 1024 пикселей, установленные в настройках.
Возможный дубликат [CasperJS screenshot - небольшая часть страницы] (http://stackoverflow.com/questions/29156452/casperjs-screenshot-is-only-a-small-part-of-page) – Vaviloff