讓我們用這個網頁解決這個問題,因爲我會發布Perl代碼片段和報告的錯誤/信息消息。在finance.yahoo.com輸入你最喜歡的股票(我使用了GEOR)。點擊走,然後在左側面板上選擇歷史價格。底部形式是這個問題的關注點之一。Perl WWW機械化submit_form()不指向form_number請求如何解決?
此頁面上顯示有兩種形式的提交,第二種是我想要激活並提交的名稱/值。在執行我的Perl代碼時,無論我將form_number => xx
設置爲什麼,它似乎都卡在第一個代碼上。我希望第二個應該返回與我通過with_fields
參數提交的計劃價值有關的歷史價格表格,但是會嘗試提交到代碼表單而不是歷史價格表單。代碼在這裏:
$mech -> follow_link (text => "Historical Prices");
print "-D-: Submits: ",$mech->find_all_submits();
$mech->submit_form(
form_number => 1,
with_fields => {s => "GEOR",
a => "11",
b => "20",
c => "2013",
d => "11",
e => "31",
f => "2013",
g => "d",
}
);
my $PageContent = $mech -> content();
&Dumper($PageContent, "Dump_Historic.txt");
exit;
我已經爲0追平值form_number,1,2,3,我仍然獲得在命令窗口中以下消息:
有2種形式與命名第一個用於:「路徑」第41行。這一行是上面的submit_form行。
我已經確認網頁包含歷史價格形式,因爲我在做了以下鏈接cmd之後轉儲了內容,這很雜亂,但您可能更容易查看自己的頁面源,而不是我在此複製內容。您會看到兩個無名提交按鈕文本字段「GO」,以及打算一個「獲取價格」。
那麼我如何才能成功提交包含「獲取價格」的表單,表面上是第二種形式?
嗨,歡迎堆棧溢出。你忘了包含你的控制檯輸出嗎?它說你從控制檯收到一條消息,但你沒有包括它的內容。 –
嗨,感謝您的熱情接待。事實上控制檯在那裏,U應該有「」它。這裏是控制檯消息: – user2829196
控制檯消息:「有兩種形式的命名字段,第一種用於:」路徑「第41行。」 Rhw「路徑」是我正在處理的路徑和perl文件。 – user2829196