2017-02-06 3 views
0

Я хотел бы сделать снимок экрана с нескольких веб-страниц, каждый из которых имеет разную высоту. Как установить высоту динамически в зависимости от высоты страницы?Как установить высоту видеопортала в CasperJS

Что-то вроде этого: casper.viewport(1200, 'auto');

+0

Возможный дубликат [CasperJS screenshot - небольшая часть страницы] (http://stackoverflow.com/questions/29156452/casperjs-screenshot-is-only-a-small-part-of-page) – Vaviloff

ответ

2

По 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 пикселей, установленные в настройках.

+0

I хотел бы установить размер ширины, но не высоту. Во втором примере вы определили фиксированную высоту «800», которая мне не нужна. Высота должна автоматически устанавливаться в зависимости от высоты страницы. –

+1

Извините, я не получил свою точку зрения в первый раз, пожалуйста, ознакомьтесь с пересмотренным ответом, надеюсь, что это поможет. ** summary: параметр высоты в config будет проигнорирован, скриншот будет иметь полную высоту страницы **. – Vaviloff

Смежные вопросы