我正在使用robobrowser在网站上自动搜索。我需要填写两个表单输入,但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 :(得分:0)
我可以看到第二个参数是否具有小写“name”的name属性而不是之前的“Name”的唯一原因。所以我建议你是否可以修复源代码,否则使用另一个属性从表单中获取输入字段,然后设置其值。