1

小さなサンプルスクリプトを実行すると、次のエラーが発生します。

mechtest.plの2行目で、パッケージ「WWW :: Mechanize :: Firefox」(「WWW :: Mechanize :: Firefox」をロードするのを忘れた可能性があります)を介してオブジェクトメソッド「new」を見つけることができません。

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プラグインがインストールされています。なぜ新しいものが見つからないのですか?

4

3 に答える 3

5

ほとんどの場合、Windows を使用していて、古いバージョンの WWW::Mechanize::Firefox がインストールされています。その古いバージョンは、当時 (ひどく) Fire_F_ox という名前でした (大文字の F に注意してください)。マシンに FireFox.pm ファイルがあるかどうかを調べます。

Windows は大文字と小文字を区別しないファイルシステムを備えているため、Firefox.pm ファイルのロードを要求しても、FireFox.pm ファイルを問題なくロードします。

解決策は、WWW::Mechanize::FireFox をアンインストールし、WWW::Mechanize::Firefox をインストールすることです。また、今後の報告のために、Perl のバージョン、モジュールのバージョン、使用している OS を教えていただけると非常に助かります。

-最大

于 2010-02-11T08:18:37.520 に答える
1

WWW::Mechanize::Firefox が正しくインストールされていないようです。再起動して、正しくインストールされていることを確認します (cpan、ppm など)。

于 2010-02-10T01:09:34.553 に答える
1

モジュールには、MozRepl::RemoteObjectなどのようないくつかの依存関係が必要です。おそらく、cpan または ppm (ActiveState を使用している場合) などを使用して再インストールする必要があります。

于 2010-02-10T02:10:50.643 に答える