Я пытаюсь использовать хромированный безголовый принтер для печати в PDF. Я использую командную строку Windows 10. Если я сделаю следующее, все будет работать должным образом:
cd "C:\Program Files (x86)\Google\Chrome\Application"
chrome --headless --print-to-pdf=c:\Users\timmc\Documents\a.pdf --disable-gpu https://www.google.com/
Однако в конечном итоге я хочу запустить эту команду из сценария python, используя subprocess.call (), и пробелы в «Program Files (x86)», похоже, вызывают проблемы. Я просмотрел другие ответы о переполнении стека, но не нашел ничего, что работает. Если я попробую следующее:
C:\"Program Files (x86)"\Google\Chrome\Application\chrome --headless --print-to-pdf=c:\Users\timmc\Documents\b.pdf --disable-gpu https://www.google.com/
Я получаю очень необычное поведение, когда Google открывается, но не в режиме без головы, он открывает две вкладки, одну с Google, а другую пытается открыть что-то вроде программы% 20 - original-process-start-time% 3D13156438844432514% 20-- быстрый старт% 20files% 20% 28x86% 29.
Может ли кто-нибудь объяснить вышеуказанное поведение?
Есть ли простой способ справиться с пробелами, который будет работать в сценарии Python с использованием subprocess.call ()?
Есть ли альтернативный способ добиться того же? (Я бы предпочел не использовать селен, а напрямую использовать хром без головы).
РЕДАКТИРОВАТЬ: код, который я в конечном итоге надеюсь запустить из моего скрипта python:
subprocess.call('C:\"Program Files (x86)"\Google\Chrome\Application\chrome --headless --print-to-pdf=c:\Users\timmc\Documents\b.pdf --disable-gpu https://www.google.com/',shell=True)