Web サイトのスクリーンショットを作成するコマンド ライン プログラム (Linux 上) [終了]
-
02-07-2019 - |
質問
Linux で Web サイトのスクリーンショットを作成するための優れたコマンド ライン ツールは何ですか?人間の介入なしで Web サイトのスクリーンショットを自動的に生成する必要があります。私が見つけた唯一のツールは khtml2png, 、しかし、khtmlに基づいていないものは他にもあるのだろうか(つまり、優れた JavaScript サポートを備えています...)。
解決
もう少し詳細な情報が役に立つかもしれません...
コンソールまたは vncserver を使用して、X セッションで Firefox (または他のブラウザ) を起動します。使用できます --height
そして --width
ウィンドウのサイズを全画面に設定するオプション。別の Firefox コマンドを使用して、最初の Firefox ウィンドウに表示される URL を設定できます。これで、Imagemagick パッケージの「import」コマンド、または gimp、fbgrab、または xv を使用するなど、いくつかのコマンドの 1 つを使用して画面イメージを取得できるようになります。
#!/bin/sh
# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768
# start firefox in this vnc session
firefox --display :11
# read URLs from a data file in a loop
count=1
while read url
do
# send URL to the firefox session
firefox --display :11 $url
# take a picture after waiting a bit for the load to finish
sleep 5
import -window root image$count.jpg
count=`expr $count + 1`
done < url_list.txt
# clean up when done
vncserver -kill :11
他のヒント
素敵な小さなツールを試してください キューティーキャプテン, 、Qt と QtWebkit のみに依存します。;)
コマンドラインツールではないことは承知していますが、何かを簡単にスクリプト化して使用することはできます。 http://browsershots.org/ 外部 IP でホストされていないアプリケーションにはあまり役に立ちません。
それでも素晴らしいツールです。
カスタムビルドされたものは知りませんが、Gecko エンジンを使用して画面の代わりに PNG ファイルにレンダリングする何かが行われる可能性があると確信しています...
または、専用の VNC サーバー インスタンスで Firefox を全画面モードで起動し、スクリーンショット グラバーを使用してスクリーンショットを撮ることもできます。フルスクリーン = 最小限のクロム、VNC サーバー インスタンス = 表示される UI なし + 解像度を選択できます。
これを行うには、Xvnc を X サーバーとして使用して xinit を使用します。すべてのマンページを読む必要があります。
欠点は、スクリーンショットが常に同じサイズであり、Web ページに応じてサイズ変更されないことです。
そこには 輸入 コマンドが必要ですが、X と、ブラウザ ウィンドウを開いてスクリーンショットを撮ってブラウザを閉じる小さな bash スクリプトが必要です。
さらに詳しい情報を見つけることができます ここ, 、または単に入力するだけ インポート --ヘルプ シェル内で;)
http://khtml2png.sourceforge.net/
debファイル
libkonq4をインストールした後、Ubuntuで動作しました...ただし、他の依存関係をカバーする必要がある場合があります。
JavaScript のサポートがさらに良くなったと思います。
ステファン
コマンドライン用ではありませんが、少なくとも大規模な URL セットのバッチ操作で使用する場合は、Firefox とそのアドオン Fireshot (ライセンス版?) を使用できます。
- セット内のすべての URL のタブを開きます (例:「このフォルダー内のすべてのブックマークのタブを開きます...」)。
- 次に、ファイアショットで「すべてのタブをキャプチャ」を起動します
- 編集ウィンドウで「すべてのショットを選択 -> すべてのショットを保存」を呼び出します。
スクリーンショットのプロパティ (サイズ、ファイル形式など) を設定したら、適切なショットファイルのセットを完成させます。
ステフェン