我在VPS的Xvfb上运行Firefox。我想做的是截取整个页面的截图。
我可以使用将Firefox重定向到特定页面
firefox http://google.com
并使用ImageMagick截图(在X内)
import root -window output.jpg
问题是,大部分页面需要滚动,我无法事先知道高度。
另一种方法是选择一个非常大的高度(比如4000px),然后处理图像并删除无用的部分。但这是不必要的处理。
我发现了许多Firefox插件,但我正在寻找一个可以使用Shell命令行编程的解决方案。
编辑:我最终写了我自己的FireFox扩展来做这件事。
开发者工具栏GCLI和Shift+F2快捷键在Firefox 60版本中被移除。要在60或更新版本中截取截图:
按Ctrl+Shift+K打开开发人员控制台(macOS上的“选项+⌘命令+K”)
类型:截图或:截图—fullpage
了解更多关于截图和其他功能
对于Firefox版本< 60:
按Shift+F2或进入“工具> Web开发人员>开发人员工具栏”打开命令行。写:
screenshot
,按“Enter”,进行截图。
为了完全回答这个问题,你甚至可以保存整个页面,而不仅仅是它的可见部分:
screenshot --fullpage
复制截图到剪贴板,使用——clipboard选项:
screenshot --clipboard --fullpage
Firefox 18改变了参数传递给命令的方式,你必须在它们之前添加“——”。
Firefox 88.0提供了一种截屏的新方法。如果在about:config中extensions.screenshots.disabled设置为false,您可以右键单击屏幕并选择截图。还有一个截图菜单按钮,你可以自定义添加到你的菜单中。
您可以在这里找到一些文档和完整的命令列表。
PS.截图默认保存在下载目录下。
更新2018-07-23
正如刚才在评论中指出的,这个问题是关于从命令行获取屏幕截图的。抱歉,我刚看了一遍。下面是正确答案:
从Firefox 57开始,你可以在无头模式下创建如下截图:
firefox -screenshot https://developer.mozilla.com
在文档中阅读更多信息。
更新2017-06-15
在Firefox 55中,Firefox截图作为一个更灵活的选择。从Firefox 57开始,屏幕截图也可以捕获整个页面。
原来的答案
自Firefox 32以来,在开发者工具(F12)中也有一个完整页面的截图按钮。如果未启用,转到开发人员工具设置(齿轮按钮),并在“可用工具箱按钮”部分选择“全页截图”。
来源:developer.mozilla.org
默认情况下,截图保存在下载目录中。这类似于截图——工具栏中的fullpage。
开发者工具栏GCLI和Shift+F2快捷键在Firefox 60版本中被移除。要在60或更新版本中截取截图:
按Ctrl+Shift+K打开开发人员控制台(macOS上的“选项+⌘命令+K”)
类型:截图或:截图—fullpage
了解更多关于截图和其他功能
对于Firefox版本< 60:
按Shift+F2或进入“工具> Web开发人员>开发人员工具栏”打开命令行。写:
screenshot
,按“Enter”,进行截图。
为了完全回答这个问题,你甚至可以保存整个页面,而不仅仅是它的可见部分:
screenshot --fullpage
复制截图到剪贴板,使用——clipboard选项:
screenshot --clipboard --fullpage
Firefox 18改变了参数传递给命令的方式,你必须在它们之前添加“——”。
Firefox 88.0提供了一种截屏的新方法。如果在about:config中extensions.screenshots.disabled设置为false,您可以右键单击屏幕并选择截图。还有一个截图菜单按钮,你可以自定义添加到你的菜单中。
您可以在这里找到一些文档和完整的命令列表。
PS.截图默认保存在下载目录下。