Puppeteer

[Puppeteer][|::ref1::|Main] — это библиотека узлов , которая предоставляет интерфейс API высокого уровня для управления Microsoft Edge \ (Chromium ) по протоколу DevTools. Puppeteer по умолчанию работает без монитора , что означает, что пользовательский интерфейс не отображается, а вместо этого необходимо использовать командную строку. Вы также можете настроить Puppeteer на выполнение полных \ (без монитора ) Microsoft EDGE или Chromium.

По умолчанию при установке Puppeteer программа установки загружает последнюю версию Chromium— обозреватель Open-Source, на котором также построен Microsoft Edge. Если у вас установлен Microsoft Edge \ (Chromium ), вы можете использовать puppeteer-Core. puppeteer-core — Это упрощенная версия Puppeteer, которая запускает уже установленный браузер, например Microsoft Edge \ (Chromium ). Чтобы скачать Microsoft Edge \ (Chromium ), обратитесь к разделу Загрузка каналов предварительной оценки Microsoft Edge.

Установка puppeteer-Core

Вы можете добавить puppeteer-core на веб-сайт или в приложение одну из указанных ниже команд.

npm i puppeteer-core
yarn add puppeteer-core

Запуск Microsoft Edge с puppeteer (Core)

Примечание

puppeteer-core опирается на узел v 8.9.0 или более поздней версии. В примере ниже используется элемент async / await , который поддерживается только в node v 7.6.0 или более поздней версии. Запустите node -v из командной строки, чтобы убедиться, что у вас есть совместимая версия Node.js.

puppeteer-core Знакомство с пользователями других платформ тестирования браузера, таких как веб- дисковод. Вы создаете экземпляр браузера, открываете страницу, а затем управляете ею с помощью API Puppeteer. В приведенном ниже примере кода puppeteer-core запускается Microsoft Edge \ (Chromium ), осуществляется переход на https://www.microsoftedgeinsider.com снимок экрана и сохранение его как example.png .

Скопируйте приведенный ниже пример кода и сохраните его как example.js .

const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: 'C:\\Program Files (x86)\\Microsoft\\Edge Dev\\Application\\msedge.exe'
  });
  const page = await browser.newPage();
  await page.goto('https://www.microsoftedgeinsider.com');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();

Измените executablePath этот элемент, чтобы он указывал на установленный Microsoft Edge \ (Chromium ). Например, в macOS executablePath для Microsoft Edge Канарские должно быть установлено значение /Applications/Microsoft\ Edge\ Canary.app/ . Чтобы найти executablePath edge://version путь к исполняемому файлу на этой странице, найдите и скопируйте его и установите пакет Edge-paths с помощью одной из указанных ниже команд.

npm i edge-paths
yarn add edge-paths

В примере кода ниже используется пакет Edge-paths , чтобы программным образом найти путь к установке Microsoft Edge \ (Chromium ) в операционной системе.

const edgePaths = require("edge-paths");

const EDGE_PATH = edgePaths.getEdgePath();

И, наконец, Set executablePath: EDGE_PATH in example.js . В конце необходимо сохранить изменения.

Примечание

Microsoft Edge \ (EdgeHTML ) не работает с другими приложениями puppeteer-core . Чтобы продолжить работу в этом примере, необходимо установить каналы предварительной оценки Microsoft Edge .

Теперь запустите example.js из командной строки.

node example.js

puppeteer-core запускает Microsoft EDGE, переходит https://www.microsoftedgeinsider.com и сохраняет снимок экрана 800px x 600px страницы. Вы можете настроить размер страницы с помощью Page. setViewport ().

Файл example.png, созданный example.js

Рисунок 1: example.png файл, созданный с помощью example.js

Это простой пример сценариев автоматизации и тестирования, включенных в Puppeteer и puppeteer-core . Дополнительные сведения о Puppeteer и том, как это работает, можно найти в статьях [Puppeteer][|::ref2::|Main].

Отправка отзыва

Группа разработчиков Edge может услышать отзывы об использовании Puppeteer puppeteer-core и Microsoft Edge. С помощью значка " Отправить отзыв " в Microsoft Edge DevTools или твит @EdgeDevTools , чтобы группа Microsoft Edge знала, что вы думаете.

Значок обратной связи в Microsoft Edge DevTools

Рисунок 2: значок обратной связи в Microsoft Edge DevTools