我在提交表单提交结果时遇到问题(我可以提交表单,但无法在第一个页面之后的页面上提交表单)。
I have:
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.open('https://www.example.com/login')
browser.select_form(nr=0)
browser.form['j_username'] = 'username'
browser.form['j_password'] = 'password'
req = browser.submit()
这有效,如print req
结果是
`
<body onload="document.forms[0].submit()">
<noscript>
<p>
<strong>Note:</strong> Since your browser does not support JavaScript,
you must press the Continue button once to proceed.
</p>
</noscript>
<form action="https://www.example.com/Shibboleth.sso/SAML2/POST" method="post">
<div>
<input type="hidden" name="RelayState" value="cookie:95ca495c"/>
<input type="hidden" name="SAMLResponse" value="really long encoded value"/>
</div>
<noscript>
<div>
<input type="submit" value="Continue"/>
</div>
</noscript>
</form>
</body>
`
但是当我尝试使用时出现错误req.select_form(nr=0)
我认为这可能来自机械化如何从返回对象的方式submit()
我正在以错误的方式处理这件事。
任何意见或指导将不胜感激:)
再试一次browser.select_form(nr=0)
代替req.select_form(nr=0)
。 (提交或单击链接后,新响应被视为实际的浏览器页面 - 就像在浏览器中一样:))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)