提问者:小点点

在命令行上使用Firefox进行整页屏幕截图


我在VPS的Xvfb上运行火狐。我想做的是对页面进行全页截图。

我可以使用以下方法将Firefox重定向到特定页面

firefox http://google.com

并使用ImageMagick进行屏幕截图(在X内部)

import root -window output.jpg

问题是,大部分页面需要滚动,我无法事先知道高度。

另一种方法是挑一个非常大的高度(像4000px)然后对图像进行处理,去掉无用的部分。但那是不必要的处理。

我发现了许多Firefox插件,但我正在寻找一个可以使用Shell命令行编程的解决方案。

编辑:我最终编写了自己的FireFox扩展来完成此操作。


共2个答案

匿名用户

Firefox版本60中删除了开发人员工具栏GCLI和Shift+F2快捷方式。以60或更高版本截图:

  • Ctrl+Shift+K打开开发人员控制台(选项+命令+K在macOS上)
  • 键入:screenshot:screenshot--fullpage

了解有关截图和其他功能的更多信息

对于Firefox版本<60:

Shift+F2或转到“工具”>Web Developer>开发人员工具栏打开命令行。写:

screenshot

然后按Enter键拍摄屏幕截图。

要完全回答问题,您甚至可以保存整个页面,而不仅仅是其中可见的部分:

screenshot --fullpage

要将屏幕截图复制到剪贴板,请使用--clipboard选项:

screenshot --clipboard --fullpage

Firefox18改变了将参数传递给命令的方式,您必须在它们之前添加“--”。

您可以在这里找到一些文档和完整的命令列表。

PS。默认情况下,屏幕截图保存到下载目录中。

匿名用户

更新2018-07-23

正如刚才在评论中指出的,这个问题是关于从命令行获取屏幕截图的。抱歉,我刚读了一遍。所以这里是正确答案:

从Firefox57开始,您可以在无头模式下创建一个屏幕截图,如下所示:

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

请参阅文档中的更多内容。

更新2017-06-15

对于Firefox55,有Firefox屏幕截图作为一个更灵活的替代方案。从Firefox57开始,截图也可以捕获整个页面。

原始答案

由于Firefox32,在开发者工具(F12)中也有一个整页屏幕截图按钮。如果未启用,请转到developer tools settings(gear按钮),并在“可用工具箱按钮”部分选择“Take a fullpage screenshot”。

默认情况下,屏幕截图保存在下载目录中。这与工具栏中的screenshot-fullpage类似。