我试图使用机器人浏览器在网站上自动提交表单,但提交表单后,我没有得到正确的响应,相反,它显示了我所在的同一个页面。以下是我的代码
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发布于 2017-03-22 18:41:45
您可以尝试指定并传递表单的id。
browser = RoboBrowser(id='IdOfTheForm')如果这样做不起作用,您可以尝试通过使用requests来传递头文件。
import requests
start = requests.session()
open = start.get('UrlOfTheWebsite')
print(open.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) 如果它不提供源代码,希望它能工作。
https://stackoverflow.com/questions/42575421
复制相似问题