Представлен выпуск JavaScript-библиотеки Puppeteer 23, предназначенной для автоматизации управления web-браузерами. Библиотека подходит как для автоматического выполнения типовых операций с браузером, так и для проведения тестирования браузеров и симуляции работы пользователей. Код проекта написан на языке TypeScript с использованием Node.js и распространяется под лицензией Apache 2.0.
Например, Puppeteer позволяет создать сценарий, запускающий браузер, выставляющий нужный размер окна, открывающий определённую страницу, выставляющий фокус на заданном поле для поиска, вводящий в поле данные и отправляющий запрос, после чего переходящий по ссылке на первый результат в списке и сохраняющий полученную страницу. Библиотека также предоставляет возможности для загрузки свежей версии выбранного браузера, симуляции работы на выбранном аппаратном устройстве (например, на смартфоне Pixel 5), обработки форм аутентификации. В процессе работы можно отслеживать, перехватывать, модифицировать или блокировать сетевые запросы и ответы, а также манипулировать HTTP-заголовками и выполнять свои скрипты в контексте открываемых страниц.
Выпуск Puppeteer 23 примечателен обеспечением поддержки браузера Firefox, помимо изначально поддерживаемых браузеров на базе движка Chromium (проект Puppeteer развивает команда Chrome Browser Automation). Для взаимодействия с браузерами поддерживаются протоколы CDP (Chrome DevTools Protocol) и WebDriver BiDi. По умолчанию браузеры запускаются в режиме работы без экрана (headless). Отмечается, что добавление в новой версии поддержки Firefox и WebDriver BiDi, позволяет использовать Puppeteer в качестве универсального средства для автоматизации тестирования работы web-приложений в разных браузерах.