Обзор 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
:
puppeteer-core
требуется Node версии 8.9.0 или более поздней версии. Убедитесь, что у вас есть совместимая версия Node.js. Для этого выполните командуnode -v
из командной строки. Кроме того, в приведенном ниже примере используетсяasync
/await
, который поддерживается только в Node версии 7.6.0 или более поздней версии.В следующем примере
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(); })();
Выполните следующие действия, чтобы найти путь к исполняемому файлу, а затем изменить
executablePath
, чтобы указать на установку Microsoft Edge. Например, в macOSexecutablePath
для Microsoft Edge Canary следует задать значение/Applications/Microsoft\ Edge\ Canary.app/
.Чтобы найти
executablePath
, простой подход вручную заключается в том, чтобыedge://version
перейти и скопировать путь к исполняемому файлу на этой странице.Или, чтобы программно найти путь к исполняемому файлу, сначала установите пакет edge-paths , выполнив одну из следующих команд:
npm i edge-paths
yarn add edge-paths
Затем, если вы используете
edge-paths
для поиска пути к исполняемому файлу, выполните код, как показано в следующем примере. Пакет edge-paths используется для программного поиска пути к установке Microsoft Edge в операционной системе:const edgePaths = require("edge-paths"); const EDGE_PATH = edgePaths.getEdgePath();
Теперь, когда вы нашли путь к исполняемому файлу (вручную или программно), в
example.js
параметре задайте .executablePath: EDGE_PATH
В конце необходимо сохранить изменения.Запустите
example.js
из командной строки:node example.js
puppeteer-core
запускает Microsoft Edge, переходит на страницуhttps://www.microsoft.com/edge/download/insider
и сохраняет снимок экрана веб-страницы. Размер снимка экрана можно настроить, вызвав page.setViewport().Следующий
example.png
файл создается методомexample.js
:
В предыдущем примере демонстрируются базовые сценарии автоматизации и тестирования, которые можно охватить с помощью Puppeteer и puppeteer-core
. Дополнительные сведения о Puppeteer и его работе проверка в Puppeteer.
См. также
Локальные статьи
- WebDriver
- Обратитесь к команде разработчиков Microsoft Edge, чтобы отправить отзыв об использовании Puppeteer, puppeteer-core и Microsoft Edge.
- Chrome DevTools Protocol (CDP) в обзоре функций и API WebView2
- Использование протокола Chrome DevTools (CDP) в приложениях WebView2
Archive
Записи в блоге
Средства
- Скачивание Microsoft Edge Insider Channels
- Chromium в проектах Chromium
- Node.js
- Puppeteer
- кукловод и кукловод-ядро
- page.setViewport() в Puppeteer