Рубрики
Без рубрики

Как запечатлеть скриншоты сайта в узле

Эта статья объясняет, как захватывать скриншоты веб-сайта в узле

Автор оригинала: Dirk Hoekstra.

В этой статье я собираюсь показать вам, как вы можете захватить скриншот веб-сайта с помощью узла и Screenshotapi.net.net.

Сначала я должен настроить новый проект узла, чтобы сделать это, я запускаю следующие команды:

npm init
npm install screenshotapi.net

Как видите, я собираюсь полагаться на пакет Screenshotapi.net.

Далее я создаю index.js файл:

const screenshotApiClient = require('screenshotapi.net')('YOUR_API_TOKEN');

screenshotApiClient.saveScreenshotToImage(`screenshot.png`, {
    url: 'https://codementor.io',
    width: 1920,
    height: 1080,
})
.catch((error) => {
    console.error("Error while getting screenshot.");
    console.dir(error);
})

Это должно сохранить скриншот кодамента к файлу скриншота. Чтобы запустить программу, я запускаю следующую команду:

node index.js

Когда я открываю screenshot.png Файл я действительно вижу скриншот кодамента!

screenshot.png.png.png

Захват определенного элемента

Предположим, я хочу захватить скриншот изображения заголовка. К счастью, это тоже возможно!

Первое, что мне нужно сделать, это получить селектор CSS этого изображения, вы можете легко найти это в Chrome:

#__next > div.jsx-101835301.landing-page > div > div.jsx-2963953577.features > div.jsx-2963953577.features__hero-wrap > div

Затем я должен добавить этот селектор на клиент Screenshotapi:

screenshotApiClient.saveScreenshotToImage(`screenshot.png`, {
    url: 'https://codementor.io',
    width: 1920,
    height: 1080,
    selector: "#__next > div.jsx-101835301.landing-page > div > div.jsx-2963953577.features > div.jsx-2963953577.features__hero-wrap > div"
})
.catch((error) => {
    console.error("Error while getting screenshot.");
    console.dir(error);
})

И когда я запускаю эту программу, она показывает только изображение заголовка!

screenshot.png.png.png

Заключение

Это оно! Я показал вам, как вы можете играть с помощью скриншотов, используя Screenshotapi.net и узел.

Счастливое кодирование!