Безголовый браузер - Headless browser
А безголовый браузер это веб-браузер без графический пользовательский интерфейс.
Безголовые браузеры обеспечивают автоматическое управление веб-страницей в среде, аналогичной популярным веб-браузерам, но они выполняются через Интерфейс командной строки или используя сетевую связь. Они особенно полезны для тестирование веб-страницы, поскольку они могут отображать и понимать HTML так же, как браузер, включая элементы стиля, такие как макет страницы, цвет, выбор шрифта и выполнение JavaScript и Аякс которые обычно недоступны при использовании других методов тестирования.[1][2]
Сценарии использования
Безголовые браузеры используются для:[3][4]
- Автоматизация тестирования в современном веб-приложения.
- Создание скриншотов веб-страниц.
- Запуск автоматических тестов для библиотек JavaScript.
- Поиск данных с веб-сайтов.
- Автоматизация взаимодействия веб-страниц.
Google заявили в 2009 году, что использование автономного браузера может помочь их поисковой системе индексировать контент с веб-сайтов, использующих Ajax.[5]
Вредоносный
Безголовые браузеры также можно использовать для:
- Выполнять DDOS атаки на веб-сайты.[6]
- Увеличьте количество рекламных показов.[7]
- Автоматизируйте веб-сайты непреднамеренными способами[8] например за набивка учетных данных.[9]
Список безголовых браузеров
Это список браузеров, обеспечивающих полную или почти полную автономную реализацию.
- Гугл Хром - начиная с версии 59 Chrome поддерживает безголовый режим в Linux, macOS и Windows[10]
- Fire Fox - Безголовый режим доступен в Linux с версии 55.[11] В версии 56 добавлена поддержка безголового режима в Windows и macOS.[12]
- PhantomJS - безголовый веб-браузер, использующий WebKit механизм верстки для рендеринга веб-страниц и JavaScriptCore для выполнения тестов по сценарию. PhantomJS был первоначально разработан Арией Хидаят в 2010 году и получил широкую поддержку и обширную экосистему разработки. Однако с тех пор проект был заархивирован и больше не находится в активной разработке.[13][14][15][16][17][18]
- HtmlUnit - безголовый браузер, написанный на Java. HtmlUnit использует Двигатель Rhino для обеспечения поддержки JavaScript и Ajax, а также возможности частичного рендеринга.[19][20]
- TrifleJS - безголовый Internet Explorer браузер со сценариями, использующий Движок компоновки трезубца для рендеринга страниц и Двигатель JavaScript V8 для выполнения тестов по сценарию. TrifleJS использует то же API язык как PhantomJS и работает с помощью объекта .NET WebBrowser для управления любой версией Internet Explorer, установленной на машине.[4][21]
- Splash - безголовый веб-браузер с HTTP API, Lua поддержка скриптов и встроенный IPython IDE на основе (Jupyter). Всплеск написан на Python и использует WebKit верстка движка. Разработка началась в ScrapingHub в 2013 году; он частично финансируется DARPA.[22][23]
- SimpleBrowser - легкий, высокопроизводительный, автономный веб-браузер с API .NET Standard с поддержкой сценариев. SimpleBrowser написан на C #, поддерживает .NET Standard 2.0.
Смоделированный
Это браузеры, имитирующие среду браузера. Хотя они могут поддерживать общие функции браузера (анализ HTML, печенье, XHR, некоторый JavaScript и т. д.), они не оказывать то ДОМ и имеют ограниченную поддержку События DOM. Обычно они работают быстрее, чем полнофункциональные браузеры, но не могут правильно интерпретировать многие популярные веб-сайты.[24][25][26]
- Zombie.js - смоделированная среда браузера для Node.js.[27]
- ENVJS - смоделированная среда браузера, написанная на JavaScript для Двигатель Rhino.[28]
- Edbrowse (ограниченная поддержка DOM)
Сценарий
Это браузеры, для которых может по-прежнему требоваться пользовательский интерфейс, но они имеют программные API и предназначены для использования аналогично традиционным браузерам без головы.
- SlimerJS - браузер со сценариями, использующий Mozilla с Движок компоновки Gecko. SlimerJS использует тот же язык API, что и PhantomJS.[29]
Смотрите также
Рекомендации
- ^ "Что такое безголовый браузер?". arhg.net.
- ^ "Быстрый старт". phantomjs.org.
- ^ «PhantomJS - PhantomJS». phantomjs.org.
- ^ а б "trifleJS".
- ^ "Официальный блог Центра веб-мастеров Google: предложение сделать AJAX доступным для сканирования". Официальный блог Центра веб-мастеров Google.
- ^ "Безголовый браузерный ботнет, использованный в 150-часовой DDoS-атаке". Сообщество Business 2.
- ^ "Интернет-трафик без заголовков угрожает интернет-экономике". ecommercetimes.com.
- ^ «Безголовые браузеры: законное программное обеспечение, позволяющее атаковать». ИТПроПортал.
- ^ «Учетная начинка». owasp.org.
- ^ «Начало работы с Headless Chrome». developers.google.com.
- ^ «Безголовый режим - поддержка браузера». developer.mozilla.org.
- ^ «Примечания к выпуску Firefox 56». developer.mozilla.org.
- ^ «PhantomJS - PhantomJS». phantomjs.org.
- ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ". phantomjs.org.
- ^ "Группы Google". google.com.
- ^ "Фиксирует · ariya / phantomjs · GitHub". GitHub.
- ^ "ария / фантомы". GitHub.
- ^ «Архивирование проекта: приостановка разработки · Проблема №15344 · ariya / phantomjs». GitHub. Получено 2018-12-05.
- ^ Майк Боулер. «HtmlUnit - Добро пожаловать в HtmlUnit». sourceforge.net.
- ^ «Платформа (API Vaadin 7.3.4)». vaadin.com. 6 ноября 2014 г.
- ^ "Дома". GitHub.
- ^ "scrapinghub / splash". GitHub.
- ^ «Архивная копия». Архивировано из оригинал на 2015-05-28. Получено 2015-05-28.CS1 maint: заархивированная копия как заголовок (связь)
- ^ "assaf / зомби". GitHub.
- ^ "ヘ ル ペ ス が 口 や ら る? 感染 し た 時 の と 病院 の 治療 方法 と は". www.envjs.com. Архивировано из оригинал на 2015-02-23. Получено 2015-03-13.
- ^ "JavaScriptMVC - EnvJS". javascriptmvc.com.
- ^ "Зомби". labnotes.org.
- ^ Резиг, Джон (29 января 2018 г.). "env-js: среда браузера на чистом JavaScript" - через GitHub.
- ^ Лоран Жуано. «SlimerJS». slimerjs.org.