Phantom.JS を使用して、個々の HTML 要素を PNG にレンダリングしたいと考えています。これが可能かどうか誰にもわかりますか?また、Phantom.js を使用して、ユーザーが既に見ているページをレンダリングするにはどうすればよいでしょうか?
質問する
20086 次
5 に答える
50
ページの一部のみをレンダリングするには、ページの clipRect 属性を設定してレンダリングする必要があります。
var clipRect = document.querySelector(selector).getBoundingClientRect();
page.clipRect = {
top: clipRect.top,
left: clipRect.left,
width: clipRect.width,
height: clipRect.height
};
page.render('capture.png');
あなたの質問の2番目の部分がわかりません。Phantom.js はヘッドレスです。つまり、ユーザーが見ている実際のディスプレイはありません。
于 2012-08-11T19:43:40.700 に答える
5
PhantomJS に基づく別のプロジェクトである CasperJS を使用できます。
casper.start('http://www.weather.com/', function() {
this.captureSelector('weather.png', '#wx-main');
});
casper.run();
于 2014-05-08T14:24:31.327 に答える
-5
私は同じ必要性を持っていました、私はこれを試しました、そしてそれは私のためにうまくいきました:
http://www
URLの を忘れないでください
var page = require('webpage').create();
page.open('YourPageURL', function (status) {
if (status !== 'success') {
console.log('Network Problem');
} else {
var p = page.evaluate(function () {
return document.getElementById('yourDivID').innerHTML
});
console.log(p);
}
phantom.exit();
});
于 2013-03-19T21:53:20.443 に答える