2016-09-14 36 views
-1

我试图自动登录到网站。该网站是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

我不知道是什么问题。

+0

您应该使用“value”方法显示您的代码... :-) – MarcoS

+0

我刚刚添加了我的整个代码。我不使用“值”方法。至少我认为我不会 –

+0

一些JavaScript的选项列在['这篇文章'](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)关于肯定是一个解决方案 - 然后浏览器为你做。还有更多。 – zdim

回答

4

大概$ua -> form_number(1);失败,因为你正试图刮掉页面(https://www.remind.com/log_in)中没有任何形式的...

你应该分析的页面,看它的源代码(view-source:https://www.remind.com/log_in)...: - )

+0

我很确定有一个表格,但没有名字。该页面的HTML中有

,但我是HTML的新手。 –

+0

你确定吗?我没有看到任何

,有或没有名称,在该页面上的源代码... :-( – MarcoS

+2

是的,这里没有任何表单,它全部生成客户端。 – simbabque

相关问题