2

hotmail ログインを自動化しようとしています。適切なフィールドを見つけるにはどうすればよいですか? フォームを印刷すると、たくさんの 16 進情報が表示されます。

正しい方法とその使用方法は何ですか?

use WWW::Mechanize;
use LWP::UserAgent;


my $mech = WWW::Mechanize->new();
my $url = "http://hotmail.com";
$mech->get($url);



print "Forms: $mech->forms";


if ($mech->success()){
    print "Successful Connection\n";
} else {
    print "Not a successful connection\n"; }
4

3 に答える 3

1

これはあなたを助けるかもしれません

use WWW::Mechanize;
use Data::Dumper;

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

my $url = "http://yoururl.com";

$mech->get($url);

my @forms = $mech->forms;

foreach my $form (@forms) {

        my @inputfields = $form->param;

        print Dumper \@inputfields;
}  
于 2013-05-23T03:57:27.197 に答える
0

Web サイトへのリーダーやインターフェースをコーディングする前に、Web サイトが何を要求しているかを調べておくと便利な場合があります。ブラウザーのブックマークに保存するこのブックマークレットを書きました。HTML Web ページにアクセスしているときにクリックすると、すべてのフォーム アクションと値が非表示になっているフィールドがポップアップで表示されます。以下のテキストをコピーして新しいブックマークの場所フィールドに貼り付け、名前を付けて保存します。

javascript:t=%22<TABLE%20BORDER='1'%20BGCOLOR='#B5D1E8'>%22;for(i=0;i<document.forms.length;i++){t+=%22<TR><TH%20colspan='4'%20align='left'%20BGCOLOR='#336699'>%22;t+=%22<FONT%20color='#FFFFFF'>%20Form%20Name:%20%22;t+=document.forms[i].name;t+=%22</FONT></TH></TR>%22;t+=%22<TR><TH%20colspan='4'%20align='left'%20BGCOLOR='#99BADD'>%22;t+=%22<FONT%20color='#FFFFFF'>%20Form%20Action:%20%22;t+=document.forms[i].action;t+=%22</FONT></TH></TR>%22;t+=%22<TR><TH%20colspan='4'%20align='left'%20BGCOLOR='#99BADD'>%22;t+=%22<FONT%20color='#FFFFFF'>%20Form%20onSubmit:%20%22;t+=document.forms[i].onSubmit;t+=%22</FONT></TH></TR>%22;t+=%22<TR><TH>ID:</TH><TH>Element%20Name:</TH><TH>Type:</TH><TH>Value:</TH></TR>%22;for(j=0;j<document.forms[i].elements.length;j++){t+=%22<TR%20BGCOLOR='#FFFFFF'><TD%20align='right'>%22;t+=document.forms[i].elements[j].id;t+=%22</TD><TD%20align='right'>%22;t+=document.forms[i].elements[j].name;t+=%22</TD><TD%20align='left'>%20%22;t+=document.forms[i].elements[j].type;t+=%22</TD><TD%20align='left'>%20%22;if((document.forms[i].elements[j].type==%22select-one%22)%20||%20(document.forms[i].elements[j].type==%22select-multiple%22)){t_b=%22%22;for(k=0;k<document.forms[i].elements[j].options.length;k++){if(document.forms[i].elements[j].options[k].selected){t_b+=document.forms[i].elements[j].options[k].value;t_b%20+=%20%22%20/%20%22;t_b+=document.forms[i].elements[j].options[k].text;t_b+=%22%20%22;}}t+=t_b;}else%20if%20(document.forms[i].elements[j].type==%22checkbox%22){if(document.forms[i].elements[j].checked==true){t+=%22True%22;}else{t+=%22False%22;}}else%20if(document.forms[i].elements[j].type%20==%20%22radio%22){if(document.forms[i].elements[j].checked%20==%20true){t+=document.forms[i].elements[j].value%20+%20%22%20-%20CHECKED%22;}else{t+=document.forms[i].elements[j].value;}}else{t+=document.forms[i].elements[j].value;}t+=%22</TD></TR>%22;}}t+=%22</TABLE>%22;mA='menubar=yes,scrollbars=yes,resizable=yes,height=800,width=600,alwaysRaised=yes';nW=window.open(%22/empty.html%22,%22Display_Vars%22,%20mA);nW.document.write(t);

于 2013-05-22T23:29:36.363 に答える