機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

selenium webdriverでページをPDFとして保存するかリソースを含んだHTMLを保存したかったけどできないみたい

プログラミング

まず、seleniumのフォーラムに質問しました。ページをPDFファイルで保存したいんだけどできない?って。

How to print current opened page as PDF file? – Google Groups

まぁ他のサイト調べてみてて、いやお前それはseleniumできないから。何度も言ってるよね?みたいに怒られるかなぁと思ってたけどそもそも回答すら来なかったという。

まぁ、フォーラムの動きみても、1日に一度投稿されるかどうかっていうレベルの規模みたいだから…ちょっときついね。

Do you want to save HTML pages without any CSS, JS, images etc. ? If Yes
the WebDriver object offers a method getPageSource() which saves the raw
HTML page.

[selenium-users] How to save a html file – Grokbase

HTMLの保存だけだったらpage_sourceメソッドでできるよ、といっていますね。それは知ってます。

ちょっと話飛びますが、実はこのHTMLの保存も完全ではないんですよね。さっき試しましたけど、保存したHTMLをPDFに変換しようとしたんですよ。
そしたらエラー出て。ライブラリの問題かなと思ったけどどうも違う。2つ使ってエラーってのはないだろう。ってことでエラー出た部分の行と、実際にブラウジングした場合に表示されるソースコードを見比べてみると、やはり違うんですよね。でそれが原因だろう、と。
もう万策尽きますよ。

Use getHtmlSource and parse the resulting HTML for references to external files, which you can then download and store outside of Selenium.

Saving full page content using Selenium – Stack Overflow

getHtmlSourceっていうツールがあるみたいです。が、それの情報が少なすぎて諦めました。

webdriver – Selenium 2: How to save a HTML page including all referenced resources (css, js, images…)? – Stack Overflow

これは情報が古すぎるのとJavaなので見ても分からない。

Yeah, don’t use Selenium for this.

http://www.gnu.org/software/wget/

How to save a HTML page including all its resources (css, js, images…)? – Google Groups

seleniumでやらないでwgetでやろうねって言ってますが、ここの質問者さんも言ってますが、JavaScript使いたいんだよ!ってことですね。だからwgetじゃだめなんだって。
一時的にログイン出来ても、そのあと更にキーワード入力とかあったらwgetじゃできないだろうし、出来てもwgetのほうが大変になりそう。ってか普通にwgetじゃJavaScript使えませんよね??

最後にここ紹介。
一番期待してたんだけど無理だった。

Seleniumで印刷(print preview)を経てPDFを保存する方法 – それマグで!

window.print で表示された、印刷ダイアログで、ボタンを押すことは kioskオプションがやってるくれるのでSelenium側では処理をする必要がありません。

kioskオプションがやってるくれるので

kioskオプションはやってくれませんでした………(落胆)

ってことで、無理でした。半日かけて調べましたけど。

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

WordPress hooks 最終的なHTMLを取得して編集する
Webページのリダイレクト速度比較 HTML vs JavaScript vs .htaccess
JavaScript YoutubeでHTML5動画が再生されているか判定
JavaScriptをHTMLが読み込まれたら実行する/ウェブページが完全に読み込まれたら実行する
JavaScriptをHTMLが読み込まれたら実行する/ウェブページが完全に読み込まれたら実行する
CSS class2つを指定したい場合のHTMLとCSSの書き方
redcarpet+Atomを使ってMarkdown→HTML変換を1秒でやってみよう


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu