Take a full page screenshot with Firefox on the command-line
command-line, firefox, screenshot, shell
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.
Problem
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.