使用Firefox浏览整个页面

我在VPS的Xvfb上运行Firefox。 我想要做的是采取整页的页面截图。

我可以使用Firefoxredirect到特定的页面

firefox http://google.com 

并使用ImageMagick截图(内X)

 import root -window output.jpg 

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

另一种方法是select一个非常大的高度(如4000像素),然后处理图像,并删除无用的部分。 但这是不必要的处理。

我发现了许多Firefox附加组件,但是我正在寻找可以使用Shell命令行进行编程的解决scheme。

编辑:我结束了写这个我自己的FireFox扩展 。

从Firefox 16开始,您可以按Shift-F2或者进入工具> Web Developer> Developer Toolbar打开一个命令行。 写:

 screenshot 

并按Intro为了采取screeshot。

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

 screenshot --fullpage 

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

 screenshot --clipboard --fullpage 

Firefox 18改变了parameter passing给命令的方式,你必须在它们之前加“ – ”。

你可以在这里find一些文档和完整的命令列表。

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

由于Firefox 32在开发者工具(F12)中也有一个完整的页面截图button 。 如果未启用,请转至开发人员工具设置(齿轮button),然后在“可用工具箱button”部分select“进行全屏截图”。

开发人员工具栏 来源:developer.mozilla.org

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

更新2017-06-15

从Firefox 55起, Firefox的屏幕截图是一个更灵活的select。 截至Firefox 57截图也可以捕捉整个页面。

我最终编写了一个自定义解决scheme(Firefox扩展)。 我认为在我开发它的时候,enreas中提到的命令行不在那里。

Firefox的扩展名是CmdShots 。 如果您需要更好地控制屏幕截图的过程(或者您想要进行一些HTML / JS修改和image processing),那么这是个不错的select。

你可以使用它并滥用它。 我决定保持免许可证,所以你可以随心所欲地玩。

我认为你正在寻找的是一个实用工具,它使您可以保存在浏览器中打开一个完整的页面到一个PNG文件。 很可能你正在寻找像commandlineprint2这样的工具。

安装扩展后,您只需键入命令:

 firefox -print http://google.com -printfile ~/foo.png