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)
希望它能工作,如果它不提供源代码。
我正在尝试使用 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)
并通过
放置您想要的合适 headersstart.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)
希望它能工作,如果它不提供源代码。