私はVPSのXvfb上でFirefoxを実行しています。私がやりたいことは、ページのフルスクリーンスクリーンショットを撮ることです。
Firefoxを使って特定のページにリダイレクトすることができます
firefox http://google.com
そしてImageMagickを使ってスクリーンショットを撮る(Xの内側)
import root -window output.jpg
問題は、ほとんどのページをスクロールする必要があり、高さを事前に知ることができないことです。
もう1つの方法は、非常に大きな高さ(4000ピクセルなど)を選択してから画像を処理し、不要な部分を削除することです。しかし、それは不要な処理です。
私は多くのFirefoxアドオンを見つけましたが、シェルコマンドラインを使ってプログラムできるソリューションを探しています。
編集:私はこれをするために私自身の FireFoxエクステンション を書くことになった。
開発者ツールバーGCLIと Shift+F2 ショートカットはFirefoxバージョン60で削除されました 。 60以上のスクリーンショットを撮るには:
:screenshot
または:screenshot --fullpage
Firefoxのバージョンが60未満の場合:
を押しますShift+F2または[ツール]> [Web開発者]> [開発者ツールバー]に移動してコマンドラインを開きます。書きます:
screenshot
スクリーンショットを撮るには、と入力します。
質問に完全に答えるために、あなたはそれの目に見える部分だけでなくページ全体を保存することさえできます:
screenshot --fullpage
スクリーンショットをクリップボードにコピーするには、--clipboard
オプションを使用します。
screenshot --clipboard --fullpage
Firefox 18 引数のコマンドへの受け渡し方法が変わりました。その前に " - "を追加する必要があります。
いくつかのドキュメントとコマンドの完全なリストを見つけることができます ここ 。
PS。スクリーンショットは、デフォルトでダウンロードディレクトリに保存されます。
アップデート2018-07-23
コメントで指摘されたように、この質問はコマンドラインからスクリーンショットを取得することについてでした。すみません、それを読み終えました。だからここに正しい答えです:
Firefox 57以降、このようにヘッドレスモードでスクリーンショットを作成できます。
firefox -screenshot https://developer.mozilla.com
ドキュメント でもっと読んでください。
更新2017-06-15
Firefox 55以降、 Firefoxスクリーンショット がより柔軟な代替手段としてあります。 Firefox 57以降スクリーンショットも全ページをキャプチャできます。
元の答え
Firefox 32以降、開発者ツール(F12)には フルページスクリーンショットボタン もあります。有効になっていない場合は、開発者ツールの設定(ギアボタン)に移動し、[利用可能なツールボックスボタン]セクションで[フルスクリーンショットを撮る]を選択します。
source:developer.mozilla.org
デフォルトでは、スクリーンショットはダウンロードディレクトリに保存されています。これはツールバーのscreenshot --fullpage
と同様に機能します。
私はこれを行うカスタムソリューション(Firefoxの拡張機能)をコーディングしました。私がそれを開発したときには、エリアで言及されているコマンドラインはなかったと思います。
Firefoxの拡張機能は CmdShots です。スクリーンショットを撮るプロセスを細かく制御する必要がある場合(またはHTML/JSの変更と画像処理を実行する場合)、これは良い選択肢です。
あなたはそれを使用して悪用することができます。私はそれを無認可にしておくことにしました、それであなたはあなたが望むようにあなたは自由にそれと遊ぶことができます。
私はあなたが探しているものはあなたがpngファイルにあなたのブラウザで開かれた完全なページを保存することを可能にするユーティリティであると思います。たぶんあなたは commandlineprint2 のようなユーティリティを探しています。
拡張機能をインストールした後は、次のコマンドを入力するだけです。
firefox -print http://google.com -printfile ~/foo.png
Firefoxスクリーンショット はFirefoxに同梱されている新しいツールです。これは開発者向けのツールではなく、ブラウザのエンドユーザーを対象としています。
スクリーンショットを撮るには、アドレスバーのページ操作メニューをクリックして、「スクリーンショットを撮る」をクリックします。その後、[全ページを保存]をクリックすると、全ページが保存され、スクロールします。