perl을 사용하여 프로그래밍 방식으로 웹 페이지의 스크린 샷을 찍는 데 관심이 있습니다. ,그래픽 인터페이스없이 웹 페이지의 스크린 샷을 찍을 수 있습니까?
가 연결하지 못했습니다 "localhost"를, 포트 4242에 연결 문제 : 연결이에서 거부를 나는 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();
을하지만이 코드를 실행하려고 할 때 얻을 /usr/local/share/perl/5.20.2/MozRepl/Client.pm 라인 144
그것은이 실패 닫힌 포트 (데비안 제시, 아파치 펄 5.20)로 인한, 또는 제안 된 MozRepl이 설치되지 않았습니다. alled 또는 올바르게 구성되지 않았습니다.
데비안 서버는 명령 줄 전용이며 다른 경우에는 그래픽 인터페이스가 없습니다.
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 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)
MozRepl is up to date (0.06).
, 수 위의 코드 작업이있는 경우 그래픽 인터페이스가 없습니까? 그렇다면이 문제를 디버그하고 해결하기 위해 무엇을 할 수 있습니까?
PhantomJS와 같은 헤드리스 브라우저가 필요합니다. 저는 WWW :: Mechanize :: PhantomJS (https://metacpan.org/pod/WWW::Mechanize::PhantomJS)를 추천하지 않았습니다. 왜냐하면 그것은 실제로 유지 관리되지 않았기 때문입니다, 그러나 저자는 두 가지 2 년의 틈새가 있은 후 올해 출시됩니다. 내가 그것을 시도했을 때, 나를 위해 deal-breaker 인 스크린 샷을 렌더링하는 버그가있었습니다. 나는 패치를 제출했지만 응답이 없으면 잠시 후 Perl을 삭제하고 일반 PhantomJS 만 사용해야했습니다. (내 패치는 몇 주 전에 마침내 적용되었습니다.) – ThisSuitIsBlackNot