Я пытаюсь захватить конкретный div веб-сайта на скриншот, чтобы облегчить какую-то работу ворчания, которую я должен сделать. До сих пор я использую этот код, я нашел на этом же самом месте, что является своего рода рабочий:Захват скриншота с phantomjs на странице с наложением
var page = require('webpage').create();
page.open('http://www.example.org', function() {
// being the actual size of the headless browser
page.viewportSize = { width: 1440, height: 900 };
var clipRect = page.evaluate(function(){
return document.querySelector("div.example").getBoundingClientRect();
});
page.clipRect = {
top: clipRect.top,
left: clipRect.left,
width: clipRect.width,
height: clipRect.height
};
page.render('google.png');
phantom.exit();
});
Это на самом деле работает, но у меня есть 2 проблемы:
1) Страница имеет оверлей при первом посещении, всплывающее окно, которое появляется на скриншоте. 2) Изображения, видимо, загружены, как они должны быть оказаны (они появляются только при прокрутке на веб-странице)
Итак, наконец, я в конечном итоге с чем-то вроде этого: problem
У меня нет опыта работы с phantomjs , поэтому я понятия не имею, как я могу это исправить. Устранение наложения DIV и некоторая принуждение загружать изображения, прежде чем делать снимок экрана, могут работать, но я не знаю, как его кодировать.
Большое спасибо!
У вас есть контроль над сайтом, который вы пытаетесь очистить? то есть код ... –
Есть два способа решения этого в моем сознании. Если у вас есть контроль над кодом целевого сайта, вы можете поместить обратные вызовы в javascript, которые говорят с phantomjs. Если у вас нет контроля, тогда вам будет лучше использовать таймауты, чтобы дождаться, когда страница закончит загрузку всего ... –
Откройте страницу wep, найдите конкретный контейнер наложения и измените css на 'display: none' а затем отобразить страницу как изображение. Вы также можете прокрутить вниз, изменив положение прокрутки. Проверьте ссылку [http://phantomjs.org/api/webpage/property/scroll-position.html](http://phantomjs.org/api/webpage/property/scroll-position.html) – Rudra