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