Не найден позиционный параметр, принимающий аргумент --disable-gpu

Не найден позиционный параметр, принимающий аргумент --disable-gpu

Я пытаюсь создать процесс PowerShell, с помощью которого я смогу распечатать свою локальную веб-страницу с помощью автоматизации.

start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/

Проблема в том, что он постоянно говорит:

Не найден позиционный параметр, принимающий аргумент --disable-gpu

Однако команды, которые я использую, скопированы изhttps://developers.google.com/web/updates/2017/04/headless-chrome

Что я сделал не так?

решение1

Добавьте ArgumentListпараметр в вашу команду следующим образом:

start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList @"--headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/"

Обратите внимание, что аргументы заключены в двойные кавычки и дополнены знаком @, чтобы экранировать двойные кавычки в аргументе print-to-pdf.

Без этого параметра PowerShell будет интерпретировать аргументы, предназначенные для Chrome, как аргументы для командлета Start-Process.


Начало процесса

решение2

У меня это работает.

start-process chrome.exe -ArgumentList "--headless --print-to-pdf=C:\Users\{User}\Desktop\AllPdf\pdf4.pdf https://www.google.com"

Связанный контент