Chrome Headless не работает
Я читал о Chrome Headless от developers.google, сказал, что мы можем запустить Google без пользовательского интерфейса. Цитата из этой ссылки:
Headless Chrome поставляется в Chrome 59. Это способ запуска браузера Chrome в автономной среде. По сути, работает Chrome без хрома! Он переносит все функции веб-платформы, предоставляемые Chromium и механизмом рендеринга Blink, в командную строку.
Почему это полезно?
Безголовый браузер - отличный инструмент для автоматизированного тестирования и серверных сред, где вам не нужна видимая оболочка пользовательского интерфейса. Например, вы можете запустить некоторые тесты для реальной веб-страницы, создать ее PDF-файл или просто проверить, как браузер отображает URL-адрес.
Это действительно отличная функция, поэтому я немного поэкспериментирую с этой классной функцией. Идея состоит в том, чтобы сделать снимок в качестве сайта документа, выполнив вызов chrome.exe из командной строки Windows следующим образом:
chrome --headless --disable-gpu --screenshot https://www.chromestatus.com/
После сделать несколько раз и следуя инструкции с этих сайтов. Я ничего не получил. Я не получаю ни картинки, ни скриншота с именем screenshot.png
как документ упоминает об этом раньше Running with --screenshot will produce a file named screenshot.png in the current working directory.
Из этого документа также сказано о версии,
Предостережение: режим без головы доступен на Mac и Linux в Chrome 59. В Chrome 60 появится поддержка Windows. Чтобы проверить, какая у вас версия Chrome, откройте chrome://version.
после проверки с предложенным ранее, я бегу chrome://version
на моем Chrome на Windows x64 Machine и получил некоторый результат:
Google Chrome 62.0.3202.94 (Official Build) (64-bit) (cohort: Stable)
Revision 4fd852a98d66564c88736c017b0a0b0478e885ad-refs/branch-heads/3202@{#789}
Что не так? Что я пропустил? Спасибо
1 ответ
После сделайте несколько экспериментов. за --screenshot
сохранит изображение на том же уровне, что и местоположение chrome.exe, что будет означать сохранение на Program Files
,
Поэтому нам нужно объединить имена параметров и аргументы с =
--screenshot = "D: \ screen.png" будет работать, иначе Chrome запишет в свою папку установки. Большой недостаток дизайна, никакое программное обеспечение не должно использовать его установочную папку в качестве рабочего каталога.
Вот полный аргумент:
chrome --headless --enable-logging --disable-gpu --screenshot="D:\screen.png" "https://www.chromestatus.com/"