Я создаю сценарий на основе Selenium, который посещает несколько веб-сайтов и загружает их непосредственно в PDF. В то время как я подключен к Wi-Fi в нашем офисе, браузер Chromium по умолчанию использует сетевой принтер, который он находит вместо настроенного мной параметра «pdf».
- Добавьте пользовательский набор настроек, чтобы указать Chromium на последние использованные параметры печати (pdf).
- Добавить аргументы Chrome --kiosk-printing и --print-to-pdf
- Переключился на другую сеть Wi-Fi без принтеров (это работает с аргументами!)
Я инициализирую веб-драйвер, используя:
def init_chromium():
chrome_options = Options()
chrome_options.add_argument("--kiosk-printing")
chrome_options.add_argument("--print-to-pdf")
chrome_driver = webdriver.Chrome(options=chrome_options)
return chrome_driver
Затем я перебираю список посещаемых страниц и использую JS для печати страницы со специальной «меткой», которую предоставляет пользователь.
def page_navigation (driver, page_array, label):
for i in page_array:
print("Getting page {}".format(i))
driver.get(i)
driver.execute_script("document.title = '{}' + ' - ' + document.title".format(label))
driver.execute_script("window.print();")
print("Executed printing of {}.".format(i))
Сообщения об ошибках не появляются, но мне нужен способ переопределения конфигурации печати независимо от сети, в которой я нахожусь. Смена сетей Wi-Fi в начале / конце скрипта не идеальна.