Я использую captureBase64, чтобы сделать скриншот и показать его на своем веб-сайте. У меня есть две тестовые среды, работающие на Windows и Linux, в первом я использую Wampserver, а другой Apache 2.4.6 + php 5.5 оба выполняют один и тот же код casperjs.
Когда я использую Linux, я не знаю, что произошло, но строки / символы не всегда отображаются правильно, только то, что показано, это квадратные символы под моим кодом:
1. CasperJS
this.click(x(btDetalhes));
this.wait(3000); // Descomentar se der ERROR
casper.waitForResource("Dúvidas", function detalhesPedido(screenShot) {
return screenShot;
}, function onReceived() {
this.log('Wait...');
myScreenShot = this.captureBase64('png', '#ctl00_Conteudo_rptListaCompras_ctl00_pnlPrincipal', {format: 'png', quality: 100});
});
// Logout & Exit
casper.thenOpen(url_logout, function logout() {
// Check if exists screenshot
if (myScreenShot !== "") {
this.echo("data:image/png;base64," + myScreenSHot).exit();
} else {
this.echo('Sorry!')exit('1601');
}
}).run();
Я использую casperjs-1.1.0-beta3 и phantomjs-1.9.8 с CentOS 7.
Спасибо за любую помощь.
Я нашел ответ, что было, очевидно, так ясно!
Я делаю php-вызов обратно в скрипт casper и после того, как скрипт сделал возврат JSON в php.
После установки php-gd все строки / символы отображаются правильно.
Спасибо
Других решений пока нет …