2016-11-05 14 views
0

robobrowserを使用して、Webサイトでの検索を自動化しています。 2つのフォーム入力を入力する必要がありますが、robobrowser.get_formは最初の入力のみを取得しています。完全なフォームを取得し、2番目の入力に値を割り当てる方法に関するアイデア?Python robobrowser get_formがフォーム全体を取得していません

HTML:

<form name="form1" method=post action="/sundown/cart_prod/cart_con_r2trastrep2"> 
<h5 align= "center"><font face_"verdana,arial, helvetica, sans-serif" size="4">Enter The Report Date(MM/YYYY): 
<input type="text" Name="p_r2reportdate" size="6" maxlength="7"> 
</font></p> 
<h5 align= "center"><font face_"verdana,arial, helvetica, sans-serif" size="4">Enter The Transporter ID: 
<input type="text" name="p_r2trans_id" size="6" maxlength="7"> 
</font></p> 
<input type="submit" > 
</font></p> 
    </form> 

Pythonスクリプト:

import re 
from robobrowser import RoboBrowser 
sonris = 'http://sonlite.dnr.state.la.us/sundown/cart_prod/CART_CON_r2trastrep1' 
former1 = "p_r2reportdate" 
former2 = "p_r2trans_id" 
date = '01/2016' 
code = '7250' #capline 
browser = RoboBrowser(history=True,parser='html.parser') 
browser.open(sonris) 
form = browser.get_form(action="/sundown/cart_prod/cart_con_r2trastrep2") 
print(form) #<RoboForm p_r2reportdate=> 
form[former1].value = date 
form[former2].value = code 
browser.submit_form(form) 
print(str(browser.parsed)) 

答えて

0

「名前とは対照的に2番目のパラメータは小文字の "名前" にname属性を持っていることならば、私が見ることができる唯一の理由"より早い時期に。ですから、ソースを修正して、別の属性を使用してフォームから入力フィールドを取得し、その値を設定するかどうかをお勧めします。

関連する問題