2015-09-11 4 views
2

Я использую 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, потому что это внутренний проект. Приносим извинения за неудобства.

ответ

0

Я обновил версию и он работает сейчас:

PhantomJS: версия 1.9.8

CasperJS: версия 1.1.0-бета3

Спасибо за помощь:)