Говорят , что PhantomJS — это браузер без головы, потому что он не задействует браузер при выполнении кода JavaScript. Выполнение будет отображаться не на дисплее браузера, а в командной строке. Такие функции, как CSS Handling, DOM Manipulation, JSON, Ajax, Canvas, SVG и т. Д., Будут обрабатываться в командной строке. PhantomJS не имеет графического интерфейса и, следовательно, все его выполнение происходит в командной строке.
Используя PhantomJS, мы можем записать в файл, прочитать содержимое файла или загрузить файл, сделать снимок экрана, преобразовать веб-страницу в pdf и многое другое. В безголовых браузерах вы получаете все поведение браузера, то есть куки-файлы, методы Http-запроса, например GET / POST, удаление куки-файлов, удаление куки-файлов и т. Д., Перезагрузка страницы, переход на другую страницу .
PhantomJS использует WebKit, который имеет аналогичную среду просмотра, как известные браузеры — Google Chrome, Mozilla Firefox, Safari и т. Д. Он также предоставляет множество JavaScript API, который помогает делать снимки экрана, загружать файл, записывать в файл, читать файл , взаимодействие с веб-страницами и т. д.
PhantomJS не поддерживает Flash или Video, так как для этого требуются плагины, и их трудно поддерживать в командной строке.
Особенности PhantomJS
Давайте теперь поймем функции, которые предлагает PhantomJS.
Автоматизация страницы
PhantomJS позволяет читать содержимое страницы с помощью его API. Это может помочь манипулировать DOM, использовать внешние библиотеки для выполнения требуемой задачи.
Скриншот
PhantomJS помогает сделать снимок экрана указанной страницы и сохранить его как изображение в различных форматах, таких как PNG, JPEG, PDF и GIF. С помощью снимка экрана, это может легко помочь убедиться, что веб-контент в порядке.
PhantomJS предлагает свойства и методы, с помощью которых он позволяет разработчикам настраивать размер снимков экрана и указывать область, которую они хотят захватить.
Тестирование без головы
PhantomJS помогает тестировать пользовательский интерфейс в командной строке. Хотя с помощью скриншота он может легко помочь найти ошибки в пользовательском интерфейсе. Иногда PhantomJS не может помочь с тестированием в одиночку. Однако его можно обернуть вместе с другими библиотеками тестирования, такими как Mocha, Yoeman и т. Д. Вы можете воспользоваться помощью PhantomJS, чтобы загрузить файл и отправить форму.
PhantomJS можно использовать для проверки входов на сайты и проверки безопасности. PhantomJS может использоваться вместе с другими инструментами, такими как CasperJS, Mocha, Qunit, чтобы сделать тестирование более мощным.
Мониторинг сети
Одной из важных функций PhantomJS является его использование для мониторинга сетевого подключения с использованием доступного API. PhantomJS разрешает проверку сетевого трафика; он подходит для проведения различного анализа поведения и производительности сети.
PhantomJS может использоваться для сбора данных о производительности веб-страницы в реальной среде. PhantomJS можно использовать с такими инструментами, как Yslow, для сбора показателей производительности любых веб-сайтов.