什么是一个很好的命令行工具在Linux上创建的网站截图? 我需要自动生成的网站截图,无需人工交互。 我发现的唯一工具是使用khtml2png ,但我不知道是否有不基于KHTML人(即具有良好的JavaScript支持,...)。
Answer 1:
更详细一点可能是有用的...
在X会话启动火狐(或其他浏览器),或者在您的控制台或使用vncserver的。 您可以使用--height
和--width
选项窗口的大小设置为全屏。 另一个Firefox命令可用于设置被显示在第一Firefox窗口的URL。 现在,您可以用几个命令,如ImageMagick软件包“导入”命令,或者使用GIMP,或fbgrab,或XV的一个抓取屏幕图像。
#!/bin/sh
# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768
# start firefox in this vnc session
firefox --display :11
# read URLs from a data file in a loop
count=1
while read url
do
# send URL to the firefox session
firefox --display :11 $url
# take a picture after waiting a bit for the load to finish
sleep 5
import -window root image$count.jpg
count=`expr $count + 1`
done < url_list.txt
# clean up when done
vncserver -kill :11
Answer 2:
尽量好的工具小CutyCapt ,只决定于Qt和QtWebKit的。 ;)
Answer 3:
看看PhantomJS ,这似乎是在Linux,OSX和Windows上运行的免费scritable Webkit引擎。 我没有用它,因为我们目前使用的Browshot (商业解决方案),但是,当我们所有的学分用完,我们会认真有它一个战利品(因为它是免费的,可以在我们的服务器上运行)
Answer 4:
scrot是截屏的命令行工具。 请参阅手册页和本教程 。
你可能也想看看脚本的浏览器。 有Firefox附加组件是采取截图如screengrab (它可以捕获,如果你想整个页面,而不仅仅是可见位),然后你可以脚本的浏览器的Greasemonkey采取截图。
Answer 5:
见Webkit2png 。
我觉得这是我在过去使用。
编辑我发现我没有使用过上述情况,却发现这个网页有许多不同的程序和技术评论。
Answer 6:
我知道它不是一个命令行工具,但你可以很容易的脚本一些东西使用http://browsershots.org/的外部IP地址不托管的应用程序没有多大用处的。
一个伟大的工具没有少。
Answer 7:
我不知道任何事情定制的,我敢肯定,有可能是一些与Gecko引擎进行渲染到PNG文件而不是屏幕...
或者,你可以火起来的Firefox在全屏模式下在一个专用的VNC服务器实例,并使用一个屏幕截图抓取采取截图。 全屏=最小铬,VNC服务器实例=无可见的UI +你可以选择你的决心。
与Xvnc的使用xinit的作为X服务器要做到这一点 - 你需要阅读所有联机帮助。
缺点是屏幕截图始终是相同的大小,根据网页不调整...
Answer 8:
还有就是进口的命令,但你需要X,并打开浏览器窗口,一个小bash脚本,然后采取截图并关闭浏览器。
你可以找到更多的信息在这里 ,或只是在一个shell中键入进口--help;)
Answer 9:
http://khtml2png.sourceforge.net/
这个deb文件
- http://sourceforge.net/projects/khtml2png/files/khtml2png2/2.7.6/khtml2png_2.7.6_i386.deb/download
在我的Ubuntu安装工作后libkonq4 ......但你可能要覆盖其他依赖。
我认为JavaScript的支持可能会更好吧!
斯蒂芬
Answer 10:
不为命令行,但至少在批量操作使用了一大组可能会使用Firefox插件的网址FireShot的的(行货版本?)。
- 在您所设定的所有URL打开的标签页(如“打开的标签此文件夹中的所有书签......”)。
- 然后在FireShot的推出“捕获所有选项卡”
- 在编辑窗口,然后调用“选择所有镜头 - >保存所有枪”
你有一个很好的一套shotfiles月底前将其具有的截图属性(大小,FILEFORMAT等)。
斯特芬