0

我正在使用 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))
4

1 回答 1

0

我可以看到第二个参数是否具有小写“名称”的名称属性而不是前面的“名称”的唯一原因。因此,我建议您是否可以修复源,否则使用另一个属性从表单中获取输入字段,然后设置其值。

于 2017-01-13T04:22:17.440 回答