RoboBrowser 表单提交

RoboBrowser form submission

我正在尝试使用 robobrowser 在网站上自动提交表单,但在我提交表单后,我没有得到正确的响应,而是显示了我所在的同一页面。这是我的代码

from robobrowser import RoboBrowser

browser = RoboBrowser()
browser.open("https://tin.tin.nsdl.com/pantan/StatusTrack.html")
form = browser.get_forms()[0]
form["ST_SEARCH_TYPE"].value = 'P'
form["ST_ACK_NUM"].value = 'Some Number'      #the ack. no.  

browser.submit_form(form)
browser.select('b')                           #shows the same page again

您可以尝试指定并传递表单的 id..

browser = RoboBrowser(id='IdOfTheForm')

如果不行你可以尝试通过 headers , 通过使用 requests like.

import requests
start = requests.session()
open = start.get('UrlOfTheWebsite')
print(open.headers)

并通过

放置您想要的合适 headers
start.headers = open.headers
browser = RoboBrowser(id='IdOfTheForm',session=start,history=True)

如果显示响应内容,可以使用parsed方法。

res = browser.submit_form(form)
print(res.parsed)

您甚至可以在提交表单时在 submit 中指定按钮 name。您必须检查 button

的名称
res = browser.submit_form(form, submit='NameOfTheButton')

然后尝试。

print(res.parsed)  

希望它能工作,如果它不提供源代码。