【问题标题】:Perl WWW::Mechanize::Firefox screenshots don't include backgroundsPerl WWW::Mechanize::Firefox 截图不包含背景
【发布时间】:2011-12-07 16:12:28
【问题描述】:

我不知道这是否可能,因为我今天才开始使用和学习 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();
};

【问题讨论】:

  • 我不知道 WWW::Mech::FF 的作者是否阅读 SO,但他每天都在 PerlMonks 上(作为 Corion)。这听起来像是 WWW::Mech::FF(或更可能是 mozrepl)中的一个错误,因此在 WWW::Mech::FF 的队列中填写一张票是合适的。
  • @ikegami 谢谢你的评论。我会尽快提交一张票,看看会发生什么:)

标签: perl firefox screenshot mechanize


【解决方案1】:

这听起来就像您打印网页时发生的情况

默认情况下,不使用背景颜色/图像。

Firefox 有一个启用打印这些的设置

【讨论】:

  • 成功了,非常感谢。作为额外说明,我还必须使用 sleep(5);给我的浏览器一些额外的时间来下载 $mech->get($ARGV[0]); 之后的所有背景图像;行。
猜你喜欢
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
相关资源
最近更新 更多