Я использую PhantomJS как метод создания локальной копии веб-сайта, у меня есть функция, которая проходит структуру фрейма веб-сайта и захватывает содержимое фрейма по мере его поступления, сохраняя его в глобальном массиве. Эта часть работает нормально на данный момент, проблема в следующем:
На каждом этапе я пытаюсь преобразовать кадр в кодированное изображение Base64, используя
var temp = require('webpage').create();
temp.content = currpage.frameContent; //set the temp page to be the current frame
var b64 = temp.renderBase64('png');
Если я просто экспортирую currpage.frameContent
в файл и открою его, я смогу увидеть его содержимое, а также открыть его в браузере и увидеть, что он действительно отображает то, что должен (по большей части, рекламу).
Хотя переменная b64
не имеет значения и никаких ошибок при запуске программы не возникает.
Я также должен отметить, что b64
не всегда не имеет значения, иногда я действительно получаю правильный рендеринг фрейма, в зависимости от сайта, который я очищаю.