Графический интерфейс для любого браузера является чем-то само собой разумеющимся, да и вообще трудно представить, чтобы веб-обозреватель не имел оного. И тем не менее, браузер может работать без графического интерфейса, загружая данные в оперативную память, но не выводя их на экран. Примером тому является так называемый Headless Chrome – буквально безголовый Хром, точнее особый режим Google Chrome, при котором загруженные веб-страницы не выводятся на дисплей.
Headless Chrome не имеет ни элементов управления, ни адресной строки, не использует стили, разметку и JS, но при этом прекрасно видит их и, если его правильным образом попросить, может вывести их в виде исходного кода – как его видят поисковые роботы.
Зачем это нужно? – спросите вы.
Действительно, большинству рядовых пользователей такой безголовый Chrome не понадобится, разве что за редкими случаями, о которых будет сказано ниже.
Функция Headless Chrome используется в основном разработчиками, тестировщиками и сеошниками, например, разработчики могут тестировать в «безголовом» режиме производительность и корректность отображения адаптивных макетов сайтов. Также безголовый браузер может использоваться для парсинга сайтов, то есть извлечения из них определенной информации, правда, для этих целей понадобится отдельный скрипт.
Как пользоваться Headless Chrome
Сегодня «безголовый» Chrome – это не какая-то отдельная версия программы, это тот же самый обычный Google Chrome, только запущенный из командной строки со специальными параметрами —headless и —disable-gpu, причем второй не является обязательным.
Первый аргумент запускает сам «безголовый» режим, а второй – отключает использование браузером ресурсов видеокарты. Для выполнения конкретных задач используются конкретные аргументы. Приведем несколько примеров, которые могут вам пригодиться.
Создание скриншота нужный веб-страницы без отрисовки. Без указания размеров скриншота изображение получается обрезанным.
start chrome —headless —disable-gpu —screenshot=D:screenshot.png https://www.white-windows.ru
Вывод кода страницы в том виде, в котором ее видит поисковый робот. В команде мы указывали файл для вывода, но данные почему-то все равно выводились непосредственно в командную строку.
start chrome —headless —disable-gpu —dump-dom https://www.white-windows.ru
Парсинг веб-страницы, текст извлекается в файл text.txt. У нас команда не сработала.
start chrome —headless —disable-gpu —disable-javascript —output=D:text.txt https://www.white-windows.ru
Также вы можете экспортировать содержимое веб-страницы в документ PDF и, похоже на то, что этот способ извлечения содержимого работает лучше всего. Данные страницы сохраняются целиком, вместе с изображениями, текстом и гиперссылками.
start chrome —headless —disable-gpu —print-to-pdf=D:output.pdf https://www.white-windows.ru
Это далеко не полный список возможностей «безголового» режима.
Режим можно использовать в разных трюках, например, для обхода капчи и автозаполнения форм, а также других вещей. Если тема вам интересна, дополнительные сведения можете получить на официальной странице developer.chrome.com/blog/headless-chrome.