LinuxでWebサイトのスクリーンショットを作成するのに適したコマンドラインツールとは何ですか?人間の介入なしでウェブサイトのスクリーンショットを自動的に生成する必要があります。私が見つけた唯一のツールは khtml2png でしたが、khtmlに基づいていない他のツールがあるのではないかと思います(つまり、JavaScriptサポートが優れているなど)。
もう少し詳細が役立つかもしれません...
コンソールまたはvncserverを使用して、Xセッションでfirefox(または他のブラウザー)を起動します。 --height
および--width
オプションを使用して、ウィンドウのサイズを全画面に設定できます。別のfirefoxコマンドを使用して、最初のfirefoxウィンドウに表示されるURLを設定できます。これで、Imagemagickパッケージの「import」コマンド、gimp、fbgrab、またはxvの使用など、いくつかのコマンドのいずれかで画面イメージを取得できます。
#!/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
Nice小さなツール CutyCapt を試してください。これはQtとQtWebkitにのみ依存しています。 ;)
scrot は、スクリーンショットを撮るためのコマンドラインツールです。 manページ およびこの tutorial を参照してください。
また、ブラウザのスクリプトを見てください。 screengrab などのスクリーンショットを撮るFirefoxアドオンがあります(これは、表示されているビットだけでなく、必要に応じてページ全体をキャプチャできます)。次に、 greasemonkey を使用してブラウザのスクリプトを作成し、スクリーンショットを撮ります。
私はコマンドラインツールではないことを知っていますが、使用するものを簡単にスクリプト化することができます http://browsershots.org/ 外部IPでホストされていないアプリケーションにはそれほど便利ではありません。
それでも素晴らしいツールです。
カスタムビルドされたものは何も知りませんが、画面の代わりにpngファイルにレンダリングするためにgeckoエンジンで何かを行うことができると確信しています...
または、専用のVNCサーバーインスタンスでフルスクリーンモードでfirefoxを起動し、スクリーンショットグラバーを使用してスクリーンショットを取得できます。フルスクリーン=最小限のクロム、VNCサーバーインスタンス=表示されないUI +解像度を選択できます。
これを行うには、XサーバーとしてXvncでxinitを使用します-すべてのマンページを読む必要があります。
欠点は、スクリーンショットが常に同じサイズであり、ウェブページに応じてサイズが変更されないことです...
http://khtml2png.sourceforge.net/
Debファイル
libkonq4をインストールした後、私のUbuntuで働いた...しかし、他の依存関係をカバーする必要があるかもしれません。
Javascriptのサポートが改善されたと思います!
ステファン
コマンドライン用ではなく、少なくとも大規模なURLセットのバッチ操作で使用する場合は、Firefoxのアドオンfireshot(ライセンス版?)を使用できます。
ショットファイルの素敵なセットで終了する前に、スクリーンショットのプロパティ(サイズ、ファイル形式など)を設定します。
ステフェン
importコマンドがありますが、Xと、ブラウザウィンドウを開く小さなbashスクリプトが必要です。その後、スクリーンショットを撮り、ブラウザを閉じます。 。
より多くの情報を見つけることができます こちら 、または単にシェルでimport --helpと入力します;)