233

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

Firefoxを使用して特定のページにリダイレクトできます

firefox http://google.com

ImageMagickを使用してスクリーンショット(X内)を撮ります

import root -window output.jpg

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

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

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

編集:私はこれを行うために自分のFireFox拡張機能を書くことになりました。

4

6 に答える 6

491

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

  • Ctrl+ Shift+を押しKて開発者コンソールを開きます(macOSでは⌥ Option++ )⌘ CommandK
  • タイプ:screenshotまたは:screenshot --fullpage

スクリーンショットやその他の機能に関する詳細をご覧ください


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

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

screenshot

スクリーンショットを撮るにはEnterキーを押します。

質問に完全に答えるために、ページの表示部分だけでなく、ページ全体を保存することもできます。

screenshot --fullpage

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

screenshot --clipboard --fullpage

Firefox 18は、引数がコマンドに渡される方法を変更します。引数の前に「-」を追加する必要があります。

Firefox 88.0には、スクリーンショットを撮るための新しい方法があります。about:configextensions.screenshots.disabledでがに設定されている場合はfalse、画面を右クリックして[スクリーンショットを撮る]を選択できます。カスタマイズしてメニューに追加できるスクリーンショットメニューボタンもあります。

いくつかのドキュメントとコマンドの完全なリストはここにあります。

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

于 2013-02-12T10:22:16.980 に答える
140

更新2018-07-23

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

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

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

詳細については、ドキュメントをご覧ください。

2017年6月15日更新

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

元の回答

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

開発者ツールツールバー ソース:developer.mozilla.org

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

于 2014-09-02T19:05:37.700 に答える
9

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

Firefoxの拡張機能はCmdShotsです。スクリーンショットを撮るプロセスをより細かく制御する必要がある場合(またはHTML / JSの変更と画像処理を行いたい場合)に適したオプションです。

あなたはそれを使用して悪用することができます。ライセンスなしで保管することにしましたので、好きなように自由に遊ぶことができます。

于 2013-02-15T20:59:09.700 に答える
8

あなたが探しているのは、ブラウザで開いたページ全体をpngファイルに保存できるユーティリティだと思います。ほとんどの場合、 commandlineprint2のようなユーティリティを探しています。

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

firefox -print http://google.com -printfile ~/foo.png
于 2012-10-31T19:56:59.273 に答える
3

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

スクリーンショットを撮るには、ページの何もないスペースを右クリックして、[スクリーンショットを撮る]を選択します。次に[全ページを保存]をクリックすると、全ページが保存され、スクロールします。

(ソース:mozilla.net

于 2018-07-23T09:20:45.110 に答える
0

Firefox用のセレンとWebドライバーを使用できます。

import selenium.webdriver
import selenium.common

options = selenium.webdriver.firefox.options.Options()
# options.headless = True
with selenium.webdriver.Firefox(options=options) as driver:
    driver.get('http://google.com')
    time.sleep(2)
    root=driver.find_element_by_tag_name('html')
    root.screenshot('whole page screenshot.png')
于 2020-04-29T01:16:47.793 に答える