gpt4 book ai didi

python - 在 mechanize 中提交表单

转载 作者:太空狗 更新时间:2023-10-29 21:41:07 26 4
gpt4 key购买 nike

我在提交表单提交结果时遇到问题(我可以提交表单,但我无法在第一个页面之后的页面上提交表单)。

我有:

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)

时出现错误

我认为这可能与 mechanize 如何从 submit() 返回对象有关,我认为这是错误的方式。

任何意见或指导将不胜感激:)

最佳答案

再试一次 browser.select_form(nr=0) 而不是 req.select_form(nr=0)。 (在提交或点击一个链接之后,新的响应被认为是一个实际的浏览器页面——就像在浏览器中一样:))

关于python - 在 mechanize 中提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com