首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python机器人浏览器get_form没有得到完整的表单

Python机器人浏览器get_form没有得到完整的表单
EN

Stack Overflow用户
提问于 2016-11-06 07:12:00
回答 1查看 1.4K关注 0票数 0

我正在使用机器人浏览器在一个网站上自动搜索。我需要填写两个表单输入,但robobrowser.get_form只接受第一个输入。关于如何获得完整的表单并为第二个输入赋值,有什么想法吗?

HTML:

代码语言:javascript
复制
<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脚本:

代码语言:javascript
复制
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))
EN

回答 1

Stack Overflow用户

发布于 2017-01-13 12:22:17

我能看到的唯一原因是第二个参数的name属性是小写的"name“,而不是前面的"Name”。因此,我建议如果您可以修复源,那么就使用另一个属性从表单中获取输入字段,然后设置它的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40444251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档