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/"
Другие вопросы по тегам