2017-02-06 2 views
0

각각 높이가 다른 여러 웹 페이지의 스크린 샷을 캡처하고 싶습니다. 높이를 동적으로 높이를 설정하려면 어떻게합니까? 이 같은CasperJS에서 뷰포트 높이 auto를 설정하는 방법

뭔가 : casper.viewport(1200, 'auto');

+0

[CasperJS 스크린 샷의 가능한 복제본은 페이지의 일부에 불과합니다] (http://stackoverflow.com/questions/29156452/casperjs-screenshot-is-only-a-small-part-of-page) – Vaviloff

답변

2

기본 PhantomjS 브라우저 (CasperJS에 의해 사용되는) 페이지를 자동으로의 전체 높이를 렌더링합니다. ,

var casper = require('casper').create({ 
    viewportSize: {width: 1280, height: 800} 
}); 

이 설정은 스크린 샷의 영향을 미칠 것이다 높이 : CasperJS에서 해당 메소드

casper.capture() 

설정, 표시 영역의 크기가 페이지의 가로 폭을 설정하는 것 전체 페이지를 렌더링하는 데 필요한만큼 커야합니다.

예 :

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) 방법은 옵션에 설정된 이상 1024 픽셀 인 3448 픽셀 높다.

+0

I 너비 고정 크기를 설정하고 높이는 설정하지 않으려합니다. 두 번째 예에서는 고정 된 높이 '800'을 정의했으며 이는 필요한 것이 아닙니다. 높이는 페이지 높이에 따라 자동으로 설정되어야합니다. –

+1

죄송합니다 처음으로 내 지점을 통해, 수정 된 답변을 확인하시기 바랍니다, 도움이되기를 바랍니다. ** 요약 : config의 높이 옵션은 무시되며 스크린 샷은 전체 페이지 높이 **가됩니다. – Vaviloff