PythonもSeleniumも知らずに書くことをお許しください。
ブラウザを起動したwindow
でなく、browser
のウィンドウへprint
メッセージを送るのではないでしょうか。
browser.print_page();
みたいなことはできないでしょうか。
Like!
etcの利用照会サービスをスクレイピングして各車両の利用明細を印刷したいです。
etc利用照会サービスにログインをして車両、日付を絞り込み、画像のようなプレビューまで進めましたがここで印刷を実行しても元のウェブページが印刷され目的が達成できません。
#クロムを立ち上げてETC利用照会サービスへ
from selenium import webdriver
#オプションを定義
options = webdriver.ChromeOptions()
options.add_argument('--kiosk-printing')
browser = webdriver.Chrome(options=options)
という設定を行いログイン、車両、日付絞り込みをしていきますがコードは省略します。
そして上記の画像までたどり着き、印刷をかけたい目的の画面なので下記のコードのように実行しましたが
元のウィンドウのウェブページが印刷されました。
#印刷
browser.execute_script('window.print();')
元のウィンドウと印刷したいウィンドウが別のため、ウィンドウの切り替えを行えば上手くいくのではないかと思い元のウェブページのほうに切り替えたりしましたが結果は同じでした。
根本的なとこで勘違いしている可能性が高いので、もしわかれば教えてください。
PythonもSeleniumも知らずに書くことをお許しください。
ブラウザを起動したwindow
でなく、browser
のウィンドウへprint
メッセージを送るのではないでしょうか。
browser.print_page();
みたいなことはできないでしょうか。
@umanizer
Questioner