Perl модуль WWW :: Mechanize :: Phantom JS ошибки с использованием примера программы в качестве теста - PullRequest
0 голосов
/ 26 мая 2020

Я только что импортировал WWW :: Mechanize :: Phantom JS сегодня, который оказался успешным с использованием cpan WWW :: Mechanize :: Phantom JS. После завершения установки / импорта я использовал пример программы по умолчанию в качестве теста и получил следующую ошибку:

'фантом js' не распознается как внутренняя или внешняя команда. Вопрос: Как исправить эту проблему?

Эта ошибка возникает из этой строки в тестовой программе:

my $mech = WWW::Mechanize::PhantomJS->new(
    launch_arg => ['ghostdriver/src/main.js' ],
);

Вот полный код, скопированный непосредственно из примера Phantom JS code:

use strict;
use File::Spec;
use File::Basename 'dirname';
use WWW::Mechanize::PhantomJS;
my $url = 'https://radioa1a.com/trop-40-vote/';

my $mech = WWW::Mechanize::PhantomJS->new(
    launch_arg => ['ghostdriver/src/main.js' ],
);

sub show_screen() {
   my $page_png = $mech->content_as_png();
    my $fn= File::Spec->rel2abs(dirname($0)) . "/screen.png";
    open my $fh, '>', $fn
    or die "Couldn't create '$fn': $!";
    binmode $fh, ':raw';
    print $fh $page_png;
    close $fh;




    #system(qq(start "Progress" "$fn"));
};

$mech->get($url);

show_screen;

Полное сообщение об ошибке из моего окна командной строки Windows 10:

C:\Users\Bryon\Desktop\Perl>TestWebPage.pl
'phantomjs' is not recognized as an internal or external command,
operable program or batch file.
Selenium server did not return proper status at C:/Strawberry/perl/site/lib/Selenium/Remote/Driver.pm line 543.

C:\Users\Bryon\Desktop\Perl>

Моя среда:

  1. Windows 10 64-битная
  2. Strawberry Perl версия:

    C: \ Users \ Bryon \ Desktop \ Perl> perl -v

    Это perl 5, версия 30, subversion 2 (v5.30.2), построенная для MSWin32-x64-multi-thread

    Copyright 1987-2020, Larry Wall

    Perl может быть копируется только в соответствии с условиями лицензии Artisti c или лицензии GNU General Publi c, которые можно найти в исходном комплекте Perl 5.

    C Полная документация для Perl, включая списки часто задаваемых вопросов, должна быть найдена в этой системе, используя «man perl» или «perldo c perl». Если у вас есть доступ к Inte rnet, укажите в браузере http://www.perl.org/, домашнюю страницу Perl.

Кроме того, я вижу Phantom Компоненты модуля JS в C: \ клубника \ perl \ site \ lib \ wWW\Mechanize \ PhantomJS \

Итак, как мне исправить эту проблему?

Заранее спасибо за вашу помощь

1 Ответ

0 голосов
/ 26 мая 2020

XXXXX не распознается как внутренняя или внешняя команда, действующая программа или командный файл.

Эта ошибка говорит о том, что в вашем PATH нет необходимого исполняемого файла.
Попробуйте загрузить актуальные исполняемые файлы Phantom JS для windows с официального сайта и поместите его в папку из переменной PATH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...