Puppeteer


Описание Puppeteer

Puppeteer – это библиотека JavaScript, которая предоставляет высокоуровневый API для управления Chrome или Firefox через протокол DevTools или WebDriver BiDi. Puppeteer по умолчанию работает в headless (без видимого пользовательского интерфейса), но может быть настроен для работы в видимом («headful») браузере.

Функции Puppeteer

Большинство вещей, которые вы можете делать вручную в браузере, можно сделать с помощью Puppeteer! Вот несколько примеров для начала:

  • Автоматизация отправки форм, тестирование пользовательского интерфейса, ввод с клавиатуры и т. д.
  • Создание автоматизированной среды тестирования с использованием новейших функций JavaScript и браузера.
  • Захват временной шкалы трассировки вашего сайта для диагностики проблем с производительностью.
  • Тестирование расширений Chrome.
  • Создание снимков экрана и PDF-файлов веб-страниц.
  • Сканирование SPA (одностраничного приложения) и генерация предварительно отрисованного контента (т. е. «SSR» (отрисовка на стороне сервера)).

Домашняя страница:

Автор: Mathias Bynens, Google Inc.

Лицензия: Apache-2.0 license

Справка по Puppeteer

Puppeteer запускается и управляется с помощью кода на JavaScript. Команды для запуска и выполнения действий в Puppeteer записывают в файлы с расширениями .js и запускают с помощью node.

Опции Puppeteer указываются как часть кода JavaScript в файле, который запускает Puppeteer. Для выполнения различных действий также используется код JavaScript, а именно различные классы Puppeteer и их методы.

Документация по опциям, классам и методам Puppeteer:

Руководство по Puppeteer

Страница man отсутствует.

Примеры запуска Puppeteer

1. Пример создания скриншота веб-сайта

Создайте файл screenshot-fullpage.js и скопируйте в него следующий код:


const puppeteer = require('puppeteer');

async function run() {
	const browser = await puppeteer.launch();
	const page = await browser.newPage();
  
	await page.goto('https://suip.biz/?act=client-tls-fingerprinting');
	await page.screenshot({ path: 'ja4-full.png', fullPage: true });
  
	browser.close();
}

run();

Запустите файл следующим образом:

node screenshot-fullpage

Вы получите скриншот всей страницы.


2. Пример получения DOM (HTML) веб-страницы

Создайте файл html-to-file.js со следующим содержимым:

const puppeteer = require('puppeteer');

async function run() {
	const browser = await puppeteer.launch();
	const page = await browser.newPage();
	const customUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36';
  
	await page.setViewport({width: 1440, height: 3440});
	await page.setUserAgent(customUserAgent);
	await page.goto('https://w-e-b.site/?act=client-tls-fingerprinting');
	
	const html = await page.content();
	const fs = require('fs');
	fs.writeFile("test.htm", html, function(err) {
	if(err) {
		return console.log(err);
	}
	console.log("The file was saved!");
	});
  
	browser.close();
}

run();

Запустите файл следующим образом:

node html

В результате запуска этой программы полученный с помощью Puppeteer исходный код страницы будет сохранён в файл test.htm.

3. Пример использования Puppeteer для извлечения все ссылок на картинки

Создайте файл extract-art-img.js со следующим содержимым:

const puppeteer = require('puppeteer');

async function run() {
	const browser = await puppeteer.launch();
	const page = await browser.newPage();
	const customUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36';
  
	await page.setViewport({width: 1440, height: 3440});
	await page.setUserAgent(customUserAgent);
	await page.goto('https://hackware.ru/?p=19139');

	const tags = await page.evaluate(() => {
		return Array.from(document.querySelectorAll('div > div.entrytext > p > a > img'))
			.map(heading => heading.src);
	});
  
	for (const tag of tags) {
		console.log(tag);
	}
  
	browser.close();
}

run();

Этот код покажет все ссылки на картинки из статьи на указанной странице.

Установка Puppeteer

Установка в Kali Linux

Начните с установки менеджера пакетов JavaScript — npm:

sudo apt install npm

Затем выполните следующую команду:

npm i puppeteer

Установка в BlackArch

Начните с установки менеджера пакетов JavaScript — npm:

sudo pacman -S npm

Затем выполните следующую команду:

npm i puppeteer

Установка в Ubuntu, Linux Mint, Debian

Начните с установки менеджера пакетов JavaScript — npm:

sudo apt update
sudo apt install npm

Затем выполните следующую команду:

npm i puppeteer

Как обновить Puppeteer

Для обновления Puppeteer в любом дистрибутиве выполните следующую команду:

npm update

Скриншоты Puppeteer

Инструкции по Puppeteer


Близкие программы:

  • Tor Messenger (50%)
  • Tor Browser (50%)
  • ProxyChains-NG (50%)
  • Privoxy (50%)
  • Tor (50%)
  • JavaScript Obfuscator (RANDOM - 11.1%)
  • Рекомендуется Вам:

    Comments are Closed