2013-12-24 5 views

ответ

2

Вы можете сделать это, используя PhantomJS.

Скриншот всей страницы: Phantomjs - take screenshot of a web page

Скриншот обрезается до размеров конкретного элемента: Crop screenshot to element in PhantomJS

Подробнее PhantomJS Примеры: https://github.com/ariya/phantomjs/wiki/Examples

+0

Спасибо! Тем не менее, причина, по которой я хотел сделать это с Browserstack или Selenium, заключается в том, чтобы получить истинное отображение страницы с разными браузерами/механизмами рендеринга ... –

+2

У браузера есть [пример] (http://www.browserstack.com/automate/node # enhancements-screenshots), чтобы сделать полный скриншот страницы. Чтобы захватить определенный элемент, вам нужно найти элемент, получить его положение + размеры и затем обрезать скриншот png. Существует несколько методов обрезки - вы можете «вставить» base64 png на холст - см. [Узел-холст] (https://github.com/LearnBoost/node-canvas/blob/master/examples/resize.js). Вы можете использовать imagemagick или gmagick - см. [Gm] (http://aheckmann.github.io/gm/). –

+2

Browserstack также имеет ["API скриншотов"] (http://www.browserstack.com/screenshots/api). Кажется, не поддерживает обрезку - вам придется делать это в отдельном процессе. Вы также можете получить позицию/размеры элемента. Это не похоже на подходящее решение для вас. –

0

ниже данного ссылки дать образец для захвата экрана элемента, использующего php. Вы можете использовать его в качестве ссылки для написания кода в узле. Если вы столкнулись с какой-либо проблемой, не стесняйтесь спрашивать.

https://github.com/facebook/php-webdriver/wiki/Taking-Full-Screenshot-and-of-an-Element

 Смежные вопросы

  • Нет связанных вопросов^_^