Кто-нибудь знает, есть ли способ использовать NodeJs для управления браузером и захвата скриншота определенного элемента на странице?Захват скриншота определенного элемента с помощью NodeJS и Browserstack
Спасибо!
Кто-нибудь знает, есть ли способ использовать NodeJs для управления браузером и захвата скриншота определенного элемента на странице?Захват скриншота определенного элемента с помощью NodeJS и Browserstack
Спасибо!
Вы можете сделать это, используя PhantomJS.
Скриншот всей страницы: Phantomjs - take screenshot of a web page
Скриншот обрезается до размеров конкретного элемента: Crop screenshot to element in PhantomJS
Подробнее PhantomJS Примеры: https://github.com/ariya/phantomjs/wiki/Examples
ниже данного ссылки дать образец для захвата экрана элемента, использующего php. Вы можете использовать его в качестве ссылки для написания кода в узле. Если вы столкнулись с какой-либо проблемой, не стесняйтесь спрашивать.
https://github.com/facebook/php-webdriver/wiki/Taking-Full-Screenshot-and-of-an-Element
именно то, что вы ищете:
это не позволяет делать скриншоты определенных элементов, просто полные страницы –
Спасибо! Тем не менее, причина, по которой я хотел сделать это с Browserstack или Selenium, заключается в том, чтобы получить истинное отображение страницы с разными браузерами/механизмами рендеринга ... –
У браузера есть [пример] (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/). –
Browserstack также имеет ["API скриншотов"] (http://www.browserstack.com/screenshots/api). Кажется, не поддерживает обрезку - вам придется делать это в отдельном процессе. Вы также можете получить позицию/размеры элемента. Это не похоже на подходящее решение для вас. –