题
什么是一个很好的命令行的工具,以创建网站的截图在Linux上?我需要自动生成的截图的网站,没有人类的相互作用。唯一的工具,我发现了 khtml2png, 但是我想知道是否有其他人,不是基于khtml(即有好JavaScript support,...).
解决方案
更多细节可能有用......
在X会话中启动firefox(或其他浏览器),可以是在控制台上,也可以是使用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
其他提示
尝试使用 CutyCapt 的小工具,它仅依赖于Qt和QtWebkit。 ;)
scrot 是一个截取屏幕截图的命令行工具。请参阅手册页和教程。
您可能还想查看浏览器的脚本。有一些firefox附加组件可以截取屏幕截图,例如 screengrab (其中可以根据需要捕获整个页面,而不仅仅是可见位),然后您可以使用 greasemonkey来编写浏览器脚本截取屏幕截图。
我知道它不是命令行工具,但你可以轻松编写一些内容来使用 http://browsershots.org/ 对于没有托管在外部IP上的应用程序没有那么有用。
一个很棒的工具。
我不知道有什么自定义构建的,我确信可以用gecko引擎做一些事情来渲染到png文件而不是屏幕......
或者,您可以在专用VNC服务器实例中以全屏模式启动firefox,并使用屏幕截图抓取器截取屏幕截图。全屏=最小化铬,VNC服务器实例=没有可见的UI +您可以选择您的分辨率。
使用xinit和Xvnc作为X服务器来执行此操作 - 您需要阅读所有联机帮助页。
缺点是屏幕截图总是大小相同,不会根据网页调整大小...
有导入命令,但您需要X和一个打开浏览器窗口的小bash脚本,然后截取屏幕截图并关闭浏览器。
您可以在此处找到更多信息,或者只需输入 import --help 在shell中;)
http://khtml2png.sourceforge.net/
Deb文件
曾在我的Ubuntu安装后libkonq4...但你可能已经涵盖的其他依赖关系。
我认为javascript支持可能是更好的现在!
斯蒂芬
不适用于命令行,但至少在批处理操作中使用更大的网址集时,你可以使用firefox及其插件fireshot(许可版本?)。
- 打开您论坛中所有网址的标签页(例如“此文件夹中所有书签的”打开标签页......“)。
- 然后在fireshot发布中“捕获所有标签”
- 在编辑窗口中,然后调用“选择所有镜头 - &gt;保存所有镜头“ 醇>
在您使用一组精美的镜头文件结束之前设置了屏幕截图属性(大小,文件格式等)。
斯特芬