Web サイトのスクリーンショットを作成するコマンド ライン プログラム (Linux 上) [終了]

StackOverflow https://stackoverflow.com/questions/125951

  •  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 のみに依存します。;)

見て ファントムJS, 、これは Linux、OSX、Windows 上で動作する無料のスクリプト可能な Webkit エンジンのようです。現在使用しているので使用していません ブラウショット (商用ソリューション)しかし、クレジットがすべてなくなったら、真剣に戦利品を手に入れるつもりです(無料でサーバー上で実行できるため)

陰嚢 スクリーンショットを撮るためのコマンドラインツールです。を参照してください。 マニュアルページ この チュートリアル.

ブラウザのスクリプト作成についても検討してみるとよいでしょう。Firefox には次のようなスクリーンショットを撮るアドオンがあります。 スクリーングラブ (必要に応じて、表示されている部分だけでなく、ページ全体をキャプチャできます)そして、次のようにブラウザをスクリプト化できます。 グリースモンキー スクリーンショットを撮るために。

見る ウェブキット2png.

昔使っていたのはこれだと思います。

編集 上記を使用していないことがわかりましたが、 このページ さまざまなプログラムやテクニックのレビューが含まれています。

コマンドラインツールではないことは承知していますが、何かを簡単にスクリプト化して使用することはできます。 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 (ライセンス版?) を使用できます。

  1. セット内のすべての URL のタブを開きます (例:「このフォルダー内のすべてのブックマークのタブを開きます...」)。
  2. 次に、ファイアショットで「すべてのタブをキャプチャ」を起動します
  3. 編集ウィンドウで「すべてのショットを選択 -> すべてのショットを保存」を呼び出します。

スクリーンショットのプロパティ (サイズ、ファイル形式など) を設定したら、適切なショットファイルのセットを完成させます。

ステフェン

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top