如何截取指定网站的屏幕截图?

3
我想了解如何在有网站链接列表的情况下捕获屏幕截图,例如google fastflip。这种任务需要哪些技术或技巧?如果Rails中有此技术可用,那就太好了。
谢谢。
3个回答

1

嗨,我正在使用无头浏览器和 Xvfb。 首先,安装包依赖项例如Ubuntu:

sudo apt-get install xvfb imagemagick x11-apps

然后使用sudo运行以下shell脚本,以某个“nobody用户”身份运行,如下所示:

/usr/bin/sudo -u nobody /path/screengrab.sh www.ibm.com 34344 >>/tmp/screengrab.log 2>&1

你可能需要调整裁剪等操作。

#!/bin/bash

rm -rf /home/nobody/.mozilla/

XAUTHORITY=

Xvfb :$2 -pixdepths 32 -screen 0 1024x1024x24 >/dev/null 2>&1 &
XPID=$!

sleep 1

firefox -width 2000 -height 1024 --display :$2 http://$1 &
FPID=$!

sleep 6
xwd -display :$2 -root -out /tmp/$2-$$.xwd

convert /tmp/$2-$$.xwd /u0/screengrabs/$1.png # Cache
convert -resize 300x300 /tmp/$2.xwd /tmp/$2-$$.png
convert -crop 287x248+0+29 /tmp/${2}-$$.png /tmp/${2}2-$$.png

mkdir -p /home/je/www/domaintool.se/docs/images/$1
cp /tmp/${2}2-$$.png /home/je/www/domaintool.se/docs/images/$1/`date +%Y%m%d`.png
rm -f /tmp/$2-$$.png /tmp/$2-$$.xwd /tmp/${2}2-$$.png

kill $XPID >/dev/null 2>&1
kill $FPID >/dev/null 2>&1

1

我一直在使用这个优秀的Firefox插件Grab Them All https://addons.mozilla.org/en-US/firefox/addon/7800/,它是作者同样出色的Screengrab插件的一个版本。

Grab Them All允许您将浏览器指向URL列表,然后会在指定目录中为您生成所有截图。它在大多数网站上都非常出色。

然而,我正在尝试生成Google Maps URLS的截图,但目前无法正常工作,因为这些页面不是标准页面-它们使用了框架等。但对于大多数情况来说,以上内容都非常棒-设置超级快速且易于操作。希望这可以帮到您。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接