web-dev-qa-db-ja.com

コマンドラインでFirefoxでフルページのスクリーンショットを撮る

私はVPSのXvfb上でFirefoxを実行しています。私がやりたいことは、ページのフルスクリーンスクリーンショットを撮ることです。

Firefoxを使って特定のページにリダイレクトすることができます

firefox http://google.com

そしてImageMagickを使ってスクリーンショットを撮る(Xの内側)

import root -window output.jpg

問題は、ほとんどのページをスクロールする必要があり、高さを事前に知ることができないことです。

もう1つの方法は、非常に大きな高さ(4000ピクセルなど)を選択してから画像を処理し、不要な部分を削除することです。しかし、それは不要な処理です。

私は多くのFirefoxアドオンを見つけましたが、シェルコマンドラインを使ってプログラムできるソリューションを探しています。

編集:私はこれをするために私自身の FireFoxエクステンション を書くことになった。

212
Omar Abid

開発者ツールバーGCLIと Shift+F2 ショートカットはFirefoxバージョン60で削除されました 。 60以上のスクリーンショットを撮るには:

  • 押す Ctrl+Shift+K 開発者コンソールを開きます。
  • タイプ:screenshotまたは:screenshot --fullpage

スクリーンショットやその他の機能についてもっと知りたい


Firefoxのバージョンが60未満の場合:

を押しますShift+F2または[ツール]> [Web開発者]> [開発者ツールバー]に移動してコマンドラインを開きます。書きます:

screenshot

スクリーンショットを撮るには、と入力します。

質問に完全に答えるために、あなたはそれの目に見える部分だけでなくページ全体を保存することさえできます:

screenshot --fullpage

スクリーンショットをクリップボードにコピーするには、--clipboardオプションを使用します。

screenshot --clipboard --fullpage

Firefox 18 引数のコマンドへの受け渡し方法が変わりました。その前に " - "を追加する必要があります。

いくつかのドキュメントとコマンドの完全なリストを見つけることができます ここ

PS。スクリーンショットは、デフォルトでダウンロードディレクトリに保存されます。

464
enreas

アップデート2018-07-23

コメントで指摘されたように、この質問はコマンドラインからスクリーンショットを取得することについてでした。すみません、それを読み終えました。だからここに正しい答えです:

Firefox 57以降、このようにヘッドレスモードでスクリーンショットを作成できます。

firefox -screenshot https://developer.mozilla.com

ドキュメント でもっと読んでください。

更新2017-06-15

Firefox 55以降、 Firefoxスクリーンショット がより柔軟な代替手段としてあります。 Firefox 57以降スクリーンショットも全ページをキャプチャできます。

元の答え

Firefox 32以降、開発者ツール(F12)には フルページスクリーンショットボタン もあります。有効になっていない場合は、開発者ツールの設定(ギアボタン)に移動し、[利用可能なツールボックスボタン]セクションで[フルスクリーンショットを撮る]を選択します。

developer tools toolbar source:developer.mozilla.org

デフォルトでは、スクリーンショットはダウンロードディレクトリに保存されています。これはツールバーのscreenshot --fullpageと同様に機能します。

131
Mouagip

私はこれを行うカスタムソリューション(Firefoxの拡張機能)をコーディングしました。私がそれを開発したときには、エリアで言及されているコマンドラインはなかったと思います。

Firefoxの拡張機能は CmdShots です。スクリーンショットを撮るプロセスを細かく制御する必要がある場合(またはHTML/JSの変更と画像処理を実行する場合)、これは良い選択肢です。

あなたはそれを使用して悪用することができます。私はそれを無認可にしておくことにしました、それであなたはあなたが望むようにあなたは自由にそれと遊ぶことができます。

9
Omar Abid

私はあなたが探しているものはあなたがpngファイルにあなたのブラウザで開かれた完全なページを保存することを可能にするユーティリティであると思います。たぶんあなたは commandlineprint2 のようなユーティリティを探しています。

拡張機能をインストールした後は、次のコマンドを入力するだけです。

firefox -print http://google.com -printfile ~/foo.png
7
Nehal J Wani

Firefoxスクリーンショット はFirefoxに同梱されている新しいツールです。これは開発者向けのツールではなく、ブラウザのエンドユーザーを対象としています。

スクリーンショットを撮るには、アドレスバーのページ操作メニューをクリックして、「スクリーンショットを撮る」をクリックします。その後、[全ページを保存]をクリックすると、全ページが保存され、スクロールします。

1
Flimm