2

私はPerlに非常に慣れていませんが、HTML :: table抽出に取り組んだperlモジュールの使用については少し専門知識がありましたが、Mechanizeモジュールを扱うとき、実行中に「パッケージを介して「新しい」オブジェクトメソッドを見つけることができない」と言い続けます以下のプログラム

    #!user/Perl/bin;
                 use strict;
                 use warnings;
                 use WWW::Mechanize;
                 my $URL ="https://accounts.google.com"   
                 my $username = <>;
                 my $password = <>;
                 my $mech =new  www::Mechanize();
                 $mech -> get($url);
$mech -> form_name('formname');
$mech -> field ('username' =>$username);
$mech -> field ('password' =>$password);
$mech -> click('signin');

私はまた、スタックオーバーフローメンバーによって与えられたガイドラインのいくつかに行き、以下の手順に従ってMechanize::Firefoxもインストールしました

cpan WWW::Mechanize::Firefox
cpan MozRepl
cpan MozRepl::RemoteObject

ただし、コードの実行中に同じエラーが発生し続けます

ここで私を助けてください。

ありがとうN@veen

4

1 に答える 1

10

Perl は大文字と小文字を区別します。www::Mechanizeと同じではありませんWWW::Mechanize(後者は大文字の W です)。

(大文字) を読み込んでから、存在しないWWW::Mechanizeクラス (小文字) のオブジェクトを作成しようとしています。www::Mechanize

また、一般的に、間接オブジェクト構文は避けるのが最善と考えられています。つまり、

my $mech = WWW::Mechanize->new();

それ以外の

my $mech = new WWW::Mechanize();

(しかし、それはあなたの問題の原因ではありませんでした。)

于 2013-02-25T07:53:17.283 に答える