2010-08-13 63 views
0

http://casesearch.courts.state.md.us/inquiry/inquirySearchParam.jis爲什麼在Ruby機械化中檢測不到字段?

agent = Mechanize.new 
form = agent.get("http://casesearch.courts.state.md.us/inquiry/inquiry-index.jsp").forms.first 
form.checkbox_with(:name => /disclaimer/).check 
page = form.submit 

上面的代碼在提交上述網站的discalimer。現在提交免責說明後,當我用下面的代碼..

p page.forms[2] 

它應該輸出的所有領域,包括姓氏,名字和所有列表[正如你可以在網站上看到],但它不這樣做。相反,我只是得到有關文本框的信息。

有誰能告訴我爲什麼?儘管form[2]是該頁面上包含大部分字段的特定形式?

回答

0

它看起來像表單[3]包含您正在尋找的信息。你是從1開始算的,而不是0?

require 'rubygems' 
require 'mechanize' 

agent = Mechanize.new 
form = agent.get("http://casesearch.courts.state.md.us/inquiry/inquiry- index.jsp").forms.first 
form.checkbox_with(:name => /disclaimer/).check 
page = form.submit 

p page.forms.count 
# out puts 4 

p page.forms[3] 
# outputs what I think you need 


#<Mechanize::Form 
{name "inquiryFormByCaseNum"} 
{method "POST"} 
{action "/inquiry/inquiryByCaseNum.jis"} 
{fields 
    #<Mechanize::Form::Text:0x000001011cd020 
    @name="caseId", 
    @node= 
+0

沒有老兄,那不是這種情況。形式[3]中的字段與我除外的字段完全不同。但感謝您尋找問題。我認爲問題是有效/無效的HTML。 – Shubham 2010-08-14 16:11:34

+0

Chrome開發人員工具在與表單相關的頁面上顯示錯誤。 「

不能作爲內的容器而不會中斷表格,的孩子將被放置在
的內部,而不是」「。 – Future4292010-08-14 22:53:39