2017-02-06 5 views
0

それぞれの高さが異なる複数のWebページのスクリーンショットをキャプチャしたいと思います。ページの高さに基づいて高さを動的に設定するにはどうすればよいですか?CasperJSでビューポートの高さをautoに設定する方法

このような何か:(CasperJSで使用されている)デフォルトのPhantomjSのブラウザで casper.viewport(1200, 'auto');

+0

[CasperJS screenshotの可能な複製は、ページのごく一部です](http://stackoverflow.com/questions/29156452/casperjs-screenshot-is-only-a-small-part-of-page) – Vaviloff

答えて

2

は自動的ページの完全な高さをレンダリングします。この設定は、スクリーンショットのみの高さに影響を与えます

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幅固定サイズを設定したいが、高さは設定しない。 2番目の例では、固定高さ '800'を定義していますが、これは必要なものではありません。高さは、ページの高さに基づいて自動的に設定されます。 –

+1

申し訳ありませんが初めての私のポイントを介して、改訂された答えをチェックしてください、それが役立つことを願っています。 **要約:設定の高さオプションは無視され、スクリーンショットはフルページの高さ**になります。 – Vaviloff

関連する問題