【发布时间】:2016-01-19 14:53:49
【问题描述】:
我有这个网站,上面有我想填写的表格。有需要提交的表格,在第一个表格中您必须填写输入标签。当您提交第一个表单时,它会生成另一个表单,其中包含一个显示您刚刚提交的内容的表格,该表单还有一个提交按钮,您必须单击该按钮以确认您的操作。我会假设该网站使用 javascript 删除第一个表单,然后生成下一个表单,因为 url 在该转换中不会改变。
如何提交/确认下一个表单,即提交第一个表单时生成的表单?
用于填写第一个表格的代码。
import mechanize
b = mechanize.Browser()
b.open("http://www.website.com/a2b.php")
b.select_form("snd")
b.find_control("t1").value = '200' # number 1
b.find_control("t2").value = '250' # number 2
b.find_control("t3").value = '300' # number 3
b.submit()
第一种形式
<form method="POST" name="snd" action="a2b.php">
<input name="t1" value="" type="text">
<input name="t2" value="" type="text">
<input name="t3" value="" type="text">
<button type="submit" value="ok" name="s1"></button>
</form>
第二种形式
<form method="post" action="a2b.php">
<table>
Table showing the entered data, entered in previous form
</table>
<input name="timestamp" value="1445368847" type="hidden">
<input name="timestamp_checksum" value="JEN8mj" type="hidden">
<input name="ckey" value="20040" type="hidden">
<input name="id" value="39" type="hidden">
<input name="a" value="533374" type="hidden">
<input name="c" value="3" type="hidden">
<button type="submit" value="ok" name="s1" id="btn_ok"></button>
</form>
【问题讨论】:
-
您能否向我们提供真实的 URL,以便我们可以重现该示例?谢谢。
-
它是一款名为 travian 的浏览器游戏,您需要登录才能使用。
-
好的,但是你用 mechanize 打开的 URL 是什么?谢谢。
-
感谢您提供表单的 URL。我注册了站点/游戏并尝试在浏览器中逐步完成该过程,但没有遇到您提到的第二种形式。第一个表单是登录表单,对吧?第二个表单/屏幕应该是什么?谢谢。
标签: python forms mechanize form-submit