🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

9516閲覧

pythonにてwebページをpdf化しての保存先と名前の変更

sadaharu

総合スコア14

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/09/28 22:54

pythonにてwebページをpdf化して、保存先と名前の変更を行いたいのですが、思い通りに動きません。
下記のコードでは、保存先はDドライブ直下を指定しているつもりですが、ダウンロードフォルダにしか保存されません。
名前の変更に至ってはどういったコードを書けば良いかすらわかりません。
アドバイスいただけると助かります。

python

1import json 2from selenium import webdriver 3 4chopt=webdriver.ChromeOptions() 5appState = { 6 "recentDestinations": [ 7 { 8 "id": "Save as PDF", 9 "origin": "local", 10 "account":"", 11 "download.default_directory": "D://" ←保存先が反映されない。 12 } 13 ], 14 "selectedDestinationId": "Save as PDF", 15 "version": 2 16} 17 18prefs = {'printing.print_preview_sticky_settings.appState': 19json.dumps(appState)} 20chopt.add_experimental_option('prefs', prefs) 21chopt.add_argument('--kiosk-printing') 22driver = webdriver.Chrome(executable_path='D://chromedriver.exe',options=chopt) 23 24 25# アドレスの設定 26addrs=("http://www.yahoo.co.jp") 27 28driver.get(addrs) 29driver.execute_script('return window.print()') 30

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

seleniumを使わなくてもいいなら

Python

1import os 2import datetime 3 4path_to_file = 'D:\' 5name_of_file = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") + '.pdf' 6page_to_open = 'http://www.yahoo.co.jp' 7 8command_to_run = '"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --headless --print-to-pdf="{0}{1}" {2}'.format(path_to_file, name_of_file, page_to_open) 9print('launch:'+command_to_run) 10 11os.popen(command_to_run)

"D:\実行時の日時.pdf"で保存してます。

参考記事:Selenium Chrome save as pdf change download folder

投稿2019/09/29 00:41

nomuken

総合スコア1627

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sadaharu

2019/09/29 07:45

すんなり動きました。 ありがとうございます! ちなみに、 print('launch:'+command_to_run) の'launch:"は何を意味しているのでしょうか? もし良かったら教えてほしいです。
nomuken

2019/09/29 08:48

参考記事から持ってきたままなので特に深い意味はないです。
sadaharu

2019/09/29 09:29

了解しました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問