我在一个VPS一个Xvfb来运行Firefox。 我想要做的就是把页面的完整页面截图。
我可以使用重定向火狐特定页面
firefox http://google.com
和使用ImageMagick获取屏幕截图(内侧X)
import root -window output.jpg
问题是,页面的大部分需要滚动,我不知道高度事前。
另一种方法是选择一个非常大的高度(例如4000px),然后处理图像并删除无用的部分。 但是,这是不必要的处理。
我发现很多的Firefox插件,但是我正在寻找可以使用的shell命令行进行编程的解决方案。
编辑:我结束了写我自己的Firefox扩展这样做。
The Developer Toolbar GCLI and Shift+F2 shortcut were removed in Firefox version 60. To take a screenshot in 60 or newer:
- press Ctrl+Shift+K to open the developer console.
- type
:screenshot
or :screenshot --fullpage
Find out more regarding screenshots and other features
For Firefox versions < 60:
Press Shift+F2 or go to Tools > Web Developer > Developer Toolbar to open a command line. Write:
screenshot
and press Enter in order to take a screenshot.
To fully answer the question, you can even save the whole page, not only the visible part of it:
screenshot --fullpage
And to copy the screenshot to clipboard, use --clipboard
option:
screenshot --clipboard --fullpage
Firefox 18 changes the way arguments are passed to commands, you have to add "--" before them.
You can find some documentation and the full list of commands here.
PS. The screenshots are saved into the downloads directory by default.
更新2018年7月23日
正如在评论刚刚指出的那样,这个问题是关于在命令行中得到的屏幕截图。 对不起,我刚刚读了这一点。 因此,这里是正确的答案:
火狐57的你可以创建这样的无头模式的截图:
firefox -screenshot https://developer.mozilla.com
阅读更多的文档 。
更新2017年6月15日
火狐55的有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
Firefox的截图是一个新的工具,它附带的Firefox。 它不是一个开发工具,它的目的是在浏览器的最终用户。
要采取截图,点击页面操作菜单,在地址栏上,点击“采取截图”。 如果然后单击“保存完整的网页”,它会保存完整的网页,滚动为您服务。