Я использую casperJS, чтобы попытаться получить снимок экрана элемента DOM с помощью captureSelector, но качество снимка экрана действительно плохое, но при съемке полного снимка экрана с использованием capture он работает правильно, качество правильное.Качество снимка элемента DOM с использованием «captureSelector» в CasperJS
Может ли кто-нибудь помочь мне с этой проблемой? Заранее спасибо.
CasperJS сценарий
var casper = require("casper").create({
verbose: true,
logLevel: 'debug',
pageSettings: {
loadImages: true,
loadPlugins: false,
}
});
// ***************************************************
var viewport_width = 1524;
var viewport_height = 768;
var ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36";
var filename = "./screenshot_"+new Date().getTime() + "_" + viewport_width + "x" + viewport_height + "_desktop.jpg";
var url = "http://url-here.com";
var lang_header = "fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3";
// ***************************************************
casper.on('remote.message', function(msg) {
this.log('Remote message caught: ' + msg, "error");
});
casper.on("page.error", function(msg, trace) {
this.log("Page Error: " + msg, "error");
});
casper.on('load.finished', function (status) {
if (status !== 'success') {
this.log("Failed to load page", "error");
}
else {
this.log("The page has been loaded", "info");
}
});
casper.start();
casper.thenOpen(url, function() {
this.userAgent(ua);
this.viewport(viewport_width, viewport_height).then(function() {
this.wait(5000, function() {
this.waitForSelector('#dom-element-id', function() {
this.captureSelector(filename, '#dom-element-id', { quality: 100 });
});
});
});
});
casper.run();
Даже при использовании параметра качества imgOptions я получаю очень плохое качество скриншотов.
this.captureSelector(filename, '#dom-element-id', { quality: 100 });
PhantomJS: версия 1.9.7
CasperJS: версия 1.0.2
PD: Я не ставил реальные URLs, потому что это внутренний проект. Приносим извинения за неудобства.