在Linux上创建网站截图的好命令行工具是什么?我需要自动生成网站截图,无需人工交互.我发现的唯一一个工具是khtml2png,但我想知道是否还有其他工具不是基于khtml的(例如,有良好的JavaScript支持,…).

推荐答案

再详细一点可能会有用...

在X会话中启动firefox(或其他浏览器),可以在控制台上启动,也可以使用vncserver.您可以使用--height--width选项将窗口大小设置为全屏.另一个firefox命令可用于设置第一个firefox窗口中显示的URL.现在,您可以使用几个命令之一获取屏幕图像,例如Imagemagick包中的"导入"命令,或者使用gimp、FBGRAP或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

Linux相关问答推荐

是否有例外情况需要在.gitconfig中使用?

从一个文件中读取文件名并将文件名和内容存储到另一个带有|的文件中作为分隔符

Linux 中大型 TSV 的条件编辑

运行系统命令失败,但相同的命令可以直接在 bash 中执行

jinja2.exceptions.TemplateSyntaxError:预期标记,,得到整数(支持十六进制,八进制和二进制整数文字)

如何使用 sed 和 date 命令替换和格式化字符串中的日期?

如何将一个变量的 2 行添加到另一个变量的特定行?

如何更改文件的上次访问/修改/更改日期?

将行转换为一条

读取命令停止执行 bash 脚本

获取S3路径的linux命令

有什么方法可以知道在发送之前将在 TCP 上发送多少字节?

如果 bash 中已经存在文件名,则创建新文件但添加数字

tmux:挂起不加载,不响应任何选项命令

如何将整个文件夹从 Amazon EC2 Linux 实例复制到本地 Linux 机器?

任何方式以编程方式在android上运行shell命令?

在 Ubuntu 中重启 Nginx

如何知道是否有足够的内存可以在 Linux 机器上部署新应用程序?

try 使用 sudo 将文件附加到根拥有的文件时权限被拒绝

UNIX `time` 命令对于基准测试是否足够准确?