Поделиться через


Обзор Puppeteer

Библиотека Puppeteer предоставляет высокоуровневый API для управления браузерами на основе Chromium, включая Microsoft Edge, с помощью протокола DevTools.

Puppeteer запускает браузеры без головы по умолчанию. Браузеры без головы не отображают пользовательский интерфейс, поэтому необходимо использовать командную строку. Вы также можете настроить Puppeteer для запуска полного (без головного) Microsoft Edge.

По умолчанию при установке Puppeteer установщик скачивает последнюю версию Chromium, браузера с открытым кодом, на который также построен Microsoft Edge.

Если у вас установлен Microsoft Edge, можно использовать puppeteer-core. puppeteer-core — это упрощенная версия Puppeteer, которая запускает существующую установку браузера, например Microsoft Edge. Чтобы скачать Microsoft Edge, перейдите к разделу Скачать каналы предварительной оценки Microsoft Edge.

Puppeteer — это библиотека Node .

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

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

npm i puppeteer-core
yarn add puppeteer-core

Запуск Microsoft Edge с помощью puppeteer-core

puppeteer-core похож на другие платформы для тестирования браузеров, например WebDriver. Вы создаете экземпляр браузера, открываете веб-страницу, а затем управляете веб-страницей с помощью API Puppeteer.

Чтобы запустить Microsoft Edge, выполните следующие действия puppeteer-core :

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

  2. В следующем примере puppeteer-core кода запускает Microsoft Edge, переходит в https://www.microsoft.com/edge/download/insiderи сохраняет снимок экрана как 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.microsoft.com/edge/download/insider');
      await page.screenshot({path: 'example.png'});
    
      await browser.close();
    })();
    
  3. Выполните следующие действия, чтобы найти путь к исполняемому файлу, а затем изменить executablePath , чтобы указать на установку Microsoft Edge. Например, в macOS executablePath для Microsoft Edge Canary следует задать значение /Applications/Microsoft\ Edge\ Canary.app/.

  4. Чтобы найти executablePath, простой подход вручную заключается в том, чтобы edge://version перейти и скопировать путь к исполняемому файлу на этой странице.

  5. Или, чтобы программно найти путь к исполняемому файлу, сначала установите пакет edge-paths , выполнив одну из следующих команд:

    npm i edge-paths
    
    yarn add edge-paths
    
  6. Затем, если вы используете edge-paths для поиска пути к исполняемому файлу, выполните код, как показано в следующем примере. Пакет edge-paths используется для программного поиска пути к установке Microsoft Edge в операционной системе:

    const edgePaths = require("edge-paths");
    
    const EDGE_PATH = edgePaths.getEdgePath();
    
  7. Теперь, когда вы нашли путь к исполняемому файлу (вручную или программно), в example.jsпараметре задайте .executablePath: EDGE_PATH В конце необходимо сохранить изменения.

  8. Запустите example.js из командной строки:

    node example.js
    

    puppeteer-core запускает Microsoft Edge, переходит на страницу https://www.microsoft.com/edge/download/insiderи сохраняет снимок экрана веб-страницы. Размер снимка экрана можно настроить, вызвав page.setViewport().

    Следующий example.png файл создается методом example.js:

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

В предыдущем примере демонстрируются базовые сценарии автоматизации и тестирования, которые можно охватить с помощью Puppeteer и puppeteer-core. Дополнительные сведения о Puppeteer и его работе проверка в Puppeteer.

См. также

Локальные статьи

Archive

Записи в блоге

Средства

Протоколы

Info