答案1
制作截图网页显示整个可滚动区域在 Firefox 中,我建议两个独立的方法。
两者都保存了显示所有部分的页面图像或您可以通过向下(和向右/向左)滚动到达的网页 - 想想所有的视图位置拼接在一起;
对于长页面,图像很容易达到几千像素高。
“专业”方式——使用 Web 浏览器 GUI 级测试和自动化工具:
自动化工具硒- 通常用于 UI 测试 - 可以进行全页面截图;
似乎一些开销但是只是为了这个任务而进行设置。
例如:
Command: open; Target: http://www.google.com
Command: captureEntirePageScreenshotAndWait; Target: \\Screenshots\\test.png
看so.SE: 使用 Selenium IDE Firefox 插件截图
要安装 Selenium 的 Firefox 部分,请获取Firefox 附加组件- 但不是来自官方附加组件页面 - 它在Selenium 的下载页面作为 xpi 文件。这是当前版本。
(有很多用于扩展 selenium 本身的插件(但在技术上是 Firefox 插件),都称为“Selenium ...”或甚至“Selenium IDE ...”附加组件网站- 很混乱。)
“黑客”方式 - 通过键盘自动化使用内部 Firefox 命令:
Firefox 中有一个内部命令提示符,这是一种开发工具,正如@Fireflight 指出的那样,它有一个截屏命令。但据我所知,通常无法从命令行 shell 行控制它。但我们可以做的是模拟按键来使用它。
我们需要选择一个浏览器窗口,打开提示符,输入 Firefox 内部命令(使用基于当前日期和时间的文件名),运行该命令,然后再次关闭提示符:
FF=$(xdotool selectwindow)
xdotool key --window $FF Shift+F2 sleep 1
xdotool type --window $FF --delay 50 "screenshot page-$(date +%Y%m%d-%H%M%S).png --fullpage "
xdotool key --window $FF Return sleep 0.5 key --window $FF Shift+F2
命令行实用程序xdotool
可以在 X11 事件级别上与 X windows 进行交互。我们使用它来选择显示页面的 Firefox 窗口,并发送正确的按键来制作屏幕截图。
(这是一种有点脆弱的方法:它取决于键盘时间,如果提示已经打开或者包含文本(要打开或关闭它,请按 Shift-F2)它将不起作用 - 但如果它有效,那就太好了。)
作为此类截图的示例,以下是man xdotool
在 manpages.ubuntu.com 上,缩小到20%(原始1336x15653),解决xdotool
方案如下:
答案2
答案3
您可以从 Firefox 中拍摄视频。使用以下命令:
mkdir ~/my_video
cd ~/my_video
avconv -an -f x11grab -r 30 -s 1024x768 -i :0.0+10,20 -vcodec libx264 -preset ultrafast -threads 0 video.mkv
您可能需要修改尺寸(1024x768)和位置(:0.0+10,20)以满足您的需要。
获得视频后,您可以使用 mplayer 将其转换为一堆 .png 文件:
mplayer video.mkv -vo png
然后选择最适合您需要的图像。