2016-09-14 70 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

相關問題