Почему WWW :: Mechanize :: Firefox не может найти «новый» метод? - PullRequest
1 голос
/ 10 февраля 2010

Я получаю следующую ошибку при запуске небольшого примера сценария:

Невозможно найти метод объекта "new" через пакет "WWW :: Mechanize :: Firefox" (возможно, Вы забыли загрузить «WWW :: Mechanize :: Firefox»?) в строке mechtest.pl 2.

use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get('http://google.com');

$mech->eval_in_page('alert("Hello Firefox")');
my $png = $mech->content_as_png();

У меня установлен WWW :: Mechanize :: Firefox, на Firefox установлен плагин MozRepl. Почему он не может найти новое?

Ответы [ 3 ]

5 голосов
/ 11 февраля 2010

Скорее всего, вы работаете в Windows и у вас установлена ​​старая версия WWW :: Mechanize :: Firefox. Эта старая версия в то время (плохо) называлась Fire_F_ox (обратите внимание на верхний регистр F). Посмотрите, есть ли у вас файл FireFox.pm на вашем компьютере.

Windows имеет нечувствительные к регистру файловые системы и, следовательно, с удовольствием загрузит файл FireFox.pm, даже если вы запросите загрузку файла Firefox.pm.

Решение состоит в том, чтобы удалить WWW :: Mechanize :: FireFox и установить WWW :: Mechanize :: Firefox. Кроме того, для будущих отчетов очень полезно, если вы сообщите нам версию Perl, версию (и) модуля (ов) и используемую вами ОС.

1007 * -max *

1 голос
/ 10 февраля 2010

Модуль требует некоторых зависимостей, таких как MozRepl::RemoteObject и т. Д. вам, вероятно, следует переустановить, используя cpan или ppm (если используется ActiveState) и т. д.

1 голос
/ 10 февраля 2010

Похоже, что WWW :: Mechanize :: Firefox установлен неправильно. Перезагрузите компьютер и убедитесь, что он установлен правильно (cpan, ppm и т. Д.).

...