我正在尝试创建一个 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/"
请注意,参数已用双引号引起来,并在前面加上了 at 符号 (@),以转义 print-to-pdf 参数中的双引号。
如果没有此参数,PowerShell 会将 Chrome 的参数解释为 Start-Process cmdlet 的参数。
答案2
它对我有用
start-process chrome.exe -ArgumentList "--headless --print-to-pdf=C:\Users\{User}\Desktop\AllPdf\pdf4.pdf https://www.google.com"