我不知道这是否可能,因为我今天才开始使用和学习Perl,但我安装了WWW :: Mechanize :: Firefox模块,并确保在Firefox中安装mozrepl插件,看看我是否可以可以拍摄网站的屏幕截图.
该脚本按预期工作并保存网站截图的png文件.但是,如果网站使用背景颜色和背景图像,则它们不包含在屏幕截图中.
有没有办法包含这些东西,还是我必须接受这是它的工作原理?
作为参考,这是我的简单测试脚本:
use WWW::Mechanize::Firefox; use Path::Class qw/file/; if(@ARGV == 2) { my $mech = WWW::Mechanize::Firefox->new( launch => 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe',tab => 'current',autoclose => 'close|q',mozrepl => 'mozrepl|m:s' ); $mech->get($ARGV[0]); my $fh = file($ARGV[1])->open( '> :raw' ); print $fh $mech->content_as_png(); };
解决方法
这听起来就像打印网页时发生的情况 默认情况下,不使用背景颜色/图像. Firefox有一个设置来启用打印