是否可以在没有图形界面的情况下拍摄网页的截图?

时间:2016-07-22 19:01:53

标签: perl firefox www-mechanize mozrepl

我有兴趣以编程方式使用perl截取网页的屏幕截图。我来了across这个解决方案:

use WWW::Mechanize::Firefox;
use Path::Class qw/file/;

my $mech = WWW::Mechanize::Firefox->new(
  bufsize => 10_000_000, # PNGs might become huge
);
$mech->get('http://www.stackoverflow.com/');

my $fh = file( 'test.png' )->open( '> :raw' );
print $fh $mech->content_as_png();

但是当我尝试运行此代码时,我得到:

  

连接失败,连接到“localhost”,端口4242时出现问题:   连接在/usr/local/share/perl/5.20.2/MozRepl/Client.pm被拒绝   第144行

有人认为此失败是由于未安装或未正确配置的关闭端口(Debian Jessie,Apache2,Perl 5.20)或MozRepl造成的。

Debian服务器只是一个命令行,否则没有图形界面。当我跑cpan WWW::Mechanize::Firefox时,我得到了最后的结果:

CPAN: Storable loaded ok (v2.49_01)
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 22 Jul 2016 17:53:33 GMT
CPAN: Module::CoreList loaded ok (v5.20150214)
WWW::Mechanize::Firefox is up to date (0.79).

当我跑cpan MozRepl时,我到最后:

CPAN: Storable loaded ok (v2.49_01)
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 22 Jul 2016 17:53:33 GMT
CPAN: Module::CoreList loaded ok (v5.20150214)
MozRepl is up to date (0.06).

因为标题要求,如果没有图形界面,上面的代码可以工作吗?如果是,我可以做些什么来调试和解决这个问题?

1 个答案:

答案 0 :(得分:2)

2个解决方案: