2016-09-14 4 views
-1

Webサイトへのログインを自動化しようとしています。ウェブサイトはhttps://www.remind.com/log_inです。 dump_formsを使用すると、ページにフォームが表示されません。とにかくこれを使ってフォームを送信しようとしましたが、コンパイルに失敗しました:WWW :: Mechanize:フォームが見つかりません

use strict; 
use warnings; 
use WWW::Mechanize; 

my $ua = WWW::Mechanize -> new(); 
my $remind = 'https://www.remind.com/log_in'; 
$ua -> get ($remind); 
$ua -> form_number(1); 
my $uid = '[email protected]'; 
$ua->field("uid", $uid); 
my $password = 'passcode'; 
$ua->field("password", $password); 

これは失敗します。ここにエラーがあります: Can't call method "value" on an undefined value

私は問題が何であるかについて迷っています。あなたがこすりしようとしているページ(https://www.remind.com/log_inは)それにはフォームを持っていないので

+0

"value"メソッドを使用してコードを表示する必要があります。:-) – MarcoS

+0

今まで私のコード全体を追加しました。私は "値"メソッドを使用しません。少なくとも私はそうは思わない –

+0

Javascriptのいくつかのオプションは['this post'](http://stackoverflow.com/questions/12655231/cant-use-perl-wwwmechanize-to-tick-checkboxes)にリストされています。一つは、あなたが尋ねる['WWW :: Mechanize :: Firefox'](http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.79/lib/WWW/Mechanize/Firefox.pm)です。 aboutは確かに解決策です - ブラウザはあなたのためにそれを行います。さらに多くのことがあります。 – zdim

答えて

4

はおそらく$ua -> form_number(1);はそれを見て、

あなたがページを分析しなければならない...、失敗しているが、ソースコード(view-source:https://www.remind.com/log_in)です...: - )

+0

私は確かにフォームがありますが、名前はないと確信しています。このページのHTMLは

ですが、私はHTMLの初心者です。 –

+0

本当に分かりますか?私は何も表示されません

、名前の有無にかかわらず、そのページソースに... :-( – MarcoS

+2

はい、そこにはフォームがありません、それはすべてクライアント側で生成されています。 – simbabque

関連する問題