当前位置: 首页 > 面试题库 >

用于创建网站屏幕截图的命令行程序(在Linux上)

商宏爽
2023-03-14
问题内容

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


问题答案:

多一点细节可能会有用…

控制台上或使用vncserver在X会话中启动Firefox(或其他浏览器)。您可以使用--height--width选项将窗口的大小设置为全屏。另一个firefox命令可用于设置在第一个firefox窗口中显示的URL。现在,您可以使用以下命令之一来抓取屏幕图像,例如从Imagemagick软件包中使用“
import”命令,或者使用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


 类似资料:
  • 问题内容: 我想使用严格的javascript生成任何给定URL的屏幕快照缩略图。如果无法做到这一点,谁能用我自己的api指向我正确的方向呢? 编辑我只是决定作弊并使用框架,因为无论如何我都是为了娱乐而做的,但是感谢所有的出色答案,如果您想做这样的事情,khtmltox可能是最好的选择……他们也有php绑定还有。 问题答案: 如果您查看wkhtmltox,则有用于将网页转换为图像的本机lib /

  • 我在VPS的Xvfb上运行火狐。我想做的是对页面进行全页截图。 我可以使用以下方法将Firefox重定向到特定页面 并使用ImageMagick进行屏幕截图(在X内部) 问题是,大部分页面需要滚动,我无法事先知道高度。 另一种方法是挑一个非常大的高度(像4000px)然后对图像进行处理,去掉无用的部分。但那是不必要的处理。 我发现了许多Firefox插件,但我正在寻找一个可以使用Shell命令行编

  • 问题内容: 我要实现的是从python中的任何网站获取网站截图。 环境:Linux 问题答案: 在Mac上,有webkit2png,在Linux+KDE上,可以使用khtml2png。我已经尝试了前者,并且效果很好,并且听说后者已投入使用。 我最近遇到了QtWebKit,它声称是跨平台的(我猜Qt将WebKit卷入了他们的库中)。但是我从未尝试过,所以我无法告诉您更多信息。 QtWebKit链接显

  • 问题内容: 是否可以使用JavaScript截取网页的屏幕截图,然后将其提交回服务器? 我不太担心浏览器的安全性问题。等,因为实施将针对HTA。但是有可能吗? 问题答案: 我已经通过使用ActiveX控件为HTA完成了此操作。在VB6中构建控件以截取屏幕截图非常容易。我必须使用keybd_event API调用,因为SendKeys无法执行PrintScreen。这是该代码: 这只会使您到达将窗口

  • 我已经在活动中创建了处理程序。这个Hanlder负责在10秒后拍摄屏幕截图。在运行方法中,我使用了虽然(标志==true)和屏幕捕获util标志==false,但这卡住了我的活动。我不能工作。它把屏幕拍摄一遍又一遍的相同的图像,因为动作被卡住了。我如何可以工作与我的屏幕和我正在做的处理程序采取屏幕截图后10秒?而循环卡住了我的应用程序。 它可以拍照,但我无法进行我的活动。

  • 我需要创建一个上传文件的预览。问题:文件将是360°全景,我使用pannellum作为显示库。因此,我在debian服务器上安装了Pagers,上传后,我只需执行以下PHP行: 它绝对是伟大的作品!我得到了一个完美的截图。不幸的是(和预期的一样),这只是一个消息,WebGL不支持此设备...:( 我搜索了Stackoverflow,用谷歌搜索了一下。不幸的是,没有有用的想法。因此,我需要一位专家(