2010-09-14 28 views
1

我使用WWW ::機械化來檢索網頁中的形式:爲什麼WWW :: Mechanize找不到合適的表單?

#!/usr/bin/perl 

use WWW::Mechanize; 

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

$mechanize->proxy(['http', 'ftp'], 'http://proxy/'); 

$mechanize->get("http://www.temp.com/"); 

$mechanize->form_id('signin'); 

網站HTML代碼具有如下

<form action="https://www.temp.com/session" id="signin" method="post"> 

,但我得到的錯誤

There is no form with ID "signin" at SiteScraper.pl 

我該怎麼做?

回答

0

不知道到底可能是錯的,你可以嘗試任何輸出形式的WWW ::機械化是能夠在響應找到使用:

use Data::Dumper; 
print Dumper($mechanize->forms()); 

它應該輸出所有的形式和它們各自的屬性等等。

仔細檢查窗體是否在轉儲中,否則會出錯。然後檢查表單的 - > {attr} - > {id}是否符合您的期望。

您還可以嘗試使用其他方式選擇表單,例如,通過名稱,並看看是否有幫助。

相關問題