我在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.截图默认保存在下载目录下。
开发者工具栏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.截图默认保存在下载目录下。