Как взаимодействовать с печатной коробкой, используя python - PullRequest
0 голосов
/ 11 сентября 2018

Я использовал селен для автоматической печати документов и застрял на экране печати.Насколько я знаю, селен не взаимодействует с экраном печати, поэтому я ищу альтернативную ситуацию, которую можно использовать с селеном.Пока мой код ниже, и все, что мне нужно, это код, который позволит мне выбрать новый принтер и затем распечатать.Также я хочу изменить этот принтер на «Сохранить как PDF», а затем сохранить PDF в файл, так что если это даст мне ярлык, который очень поможет.

from selenium import webdriver
from selenium import *
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Remote(
         command_executor='http://127.0.0.1:4444/wd/hub',
         desired_capabilities=DesiredCapabilities.CHROME) #This is because I am using remote web driver for my Mac, but it is the same as regular web driver

driver.execute("window.print()")

#Need code here

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Я использовал window.print () с последующим выполнением строки python, содержащей необходимые команды js: print_function = ''' let A = document.getElementsByTagName('print-preview-app')[0].shadowRoot; let B = A.getElementById('sidebar').children[0].shadowRoot; let C = B.getElementById('button-strip').children[0] C.click() ''' driver.execute_script(print_function)

Имейте в виду, что вам также нужно использовать driver.swich_to.window (window_handles [i]), чтобы убедиться, что вы взаимодействуете с окном печати. ​​

Как только вы входите в элемент shadowRoot, у вас не будет полного набора доступных методов driver.find_element_by.При поиске в shadowRoot вы ограничены методами, доступными через JS.

0 голосов
/ 11 сентября 2018

Нашел предложение, которое может работать на вас. Как конвертировать веб-страницу в PDF с помощью Python

Может быть, попробовать pdfkit

import pdfkit
pdfkit.from_url('http://google.com', 'out.pdf')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...