Search code examples
shellfirefoxcommand-linescreenshot

Take a full page screenshot with Firefox on the command-line


I'm running Firefox on a Xvfb in a VPS. What I want to do is to take a full page screenshot of the page.

I can redirect Firefox to particular page using

firefox http://google.com

and take a screenshot (inside X) using ImageMagick

import root -window output.jpg

The problem is, most of the page need scrolling and I can't know the height beforehand.

The other way is to pick a very big height (like 4000px) and then process the image and remove the useless part. But that's unnecessary processing.

I found many Firefox add-ons, but I'm looking for a solution that can be programmed using the Shell Command line.

Edit: I ended up writing my own FireFox extension for doing this.


Solution

  • The Developer Toolbar GCLI and Shift+F2 shortcut were removed in Firefox version 60. To take a screenshot in 60 or newer:

    • press Ctrl+Shift+K to open the developer console (⌥ Option+⌘ Command+K on macOS)
    • type :screenshot or :screenshot --fullpage

    Find out more regarding screenshots and other features


    For Firefox versions < 60:

    Press Shift+F2 or go to Tools > Web Developer > Developer Toolbar to open a command line. Write:

    screenshot
    

    and press Enter in order to take a screenshot.

    To fully answer the question, you can even save the whole page, not only the visible part of it:

    screenshot --fullpage
    

    And to copy the screenshot to clipboard, use --clipboard option:

    screenshot --clipboard --fullpage
    

    Firefox 18 changes the way arguments are passed to commands, you have to add "--" before them.

    Firefox 88.0 has a new method for taking screenshots. If extensions.screenshots.disabled is set to false in about:config, you can right-click the screen and select Take Screenshot. There's also a screenshot menu button you can add to your menu via customization.

    You can find some documentation and the full list of commands here.

    PS. The screenshots are saved into the downloads directory by default.