Oma*_*bid 220 shell firefox command-line screenshot
我在VPS中的Xvfb上运行Firefox.我想要做的是采取页面的整页截图.
我可以使用Firefox将Firefox重定向到特定页面
firefox http://google.com
Run Code Online (Sandbox Code Playgroud)
并使用ImageMagick截取屏幕截图(在X内)
import root -window output.jpg
Run Code Online (Sandbox Code Playgroud)
问题是,大多数页面需要滚动,我不能事先知道高度.
另一种方法是选择一个非常大的高度(如4000px),然后处理图像并删除无用的部分.但这是不必要的处理.
我发现了许多Firefox附加组件,但我正在寻找可以使用Shell命令行编程的解决方案.
编辑:我最终编写了自己的FireFox扩展程序来执行此操作.
enr*_*eas 476
该开发工具栏图形化命令行和Shift+ F2快捷方式在Firefox 60版本被拆除.截取60或更新的屏幕截图:
:screenshot或:screenshot --fullpage 对于Firefox版本<60:
按Shift+F2或转到工具> Web开发人员>开发人员工具栏以打开命令行.写:
screenshot
Run Code Online (Sandbox Code Playgroud)
并按Enter键以截取屏幕截图.
要完全回答这个问题,您甚至可以保存整个页面,而不仅仅是它的可见部分:
screenshot --fullpage
Run Code Online (Sandbox Code Playgroud)
要将屏幕截图复制到剪贴板,请使用--clipboard选项:
screenshot --clipboard --fullpage
Run Code Online (Sandbox Code Playgroud)
Firefox 18更改了参数传递给命令的方式,您必须在它们之前添加" - ".
您可以在此处找到一些文档和完整的命令列表.
PS.屏幕截图默认保存到下载目录中.
Mou*_*gip 133
更新2018-07-23
正如在评论中刚刚指出的那样,这个问题是关于从命令行获取屏幕截图.对不起,我刚看完了.所以这是正确的答案:
从Firefox 57开始,您可以在无头模式下创建截图,如下所示:
firefox -screenshot https://developer.mozilla.com
Run Code Online (Sandbox Code Playgroud)
更新2017-06-15
从Firefox 55开始,Firefox截图作为一种更灵活的选择.从Firefox 57开始,屏幕截图也可以捕获整页.
原始答案
从Firefox 32开始,开发人员工具(F12)中也有一个完整的页面截图按钮.如果未启用,请转到开发人员工具设置(齿轮按钮),然后在"可用工具箱按钮"部分选择"获取完整页面截图".
来源:developer.mozilla.org
默认情况下,屏幕截图保存在下载目录中.这与screenshot --fullpage工具栏中的工作方式类似.
我最终编写了一个自定义解决方案(Firefox扩展)来执行此操作.我认为,当我开发它时,enreas中提到的命令行不存在.
Firefox扩展名是CmdShots.如果您需要对截屏过程进行更精细的控制(或者您想要进行一些HTML/JS修改和图像处理),这是一个很好的选择.
你可以使用它并滥用它.我决定保留它未经许可,所以你可以随心所欲地玩它.
我认为您正在寻找的是一个实用程序,它允许您将浏览器中打开的完整页面保存到png文件中.很可能你正在寻找像commandlineprint2这样的实用程序.
安装扩展后,您只需键入命令:
firefox -print http://google.com -printfile ~/foo.png
Run Code Online (Sandbox Code Playgroud)