我在网站上有一个不能直接选择的表单(因为它嵌入在javascript中)。因此,通过机械化浏览器对象选择它是不可能的。我想要做的是创建一个类似于那个的表单并使用浏览器对象提交它。
表单是
<form method="POST" action="Action.php?action=338&n=66&t=mine">
<input id="Mine66" type="hidden" value="22" name="duree">
<button class="boutonsGeneral" value="submit" type="submit" name="travail">
<span class="infoBoutonsGeneral" title="">
Work
<span id="dureeMine66" class="boutonsGeneral_duree boutonsGeneral_dureePlus">22 hours</span>
</button>
</form>
我使用了firebug,这是信息。发布到的网址为http://www.renaissancekingdoms.com/Action.php?action=338&n=66&t=mine
Parameters
duree 22
提交
Request Headers From Upload Stream
内容长度:23
内容类型:application / x-www-form-urlencoded
到目前为止我所做的是我设法登录该网站并执行以下操作
form = mechanize.HTMLForm('http://www.renaissancekingdoms.com/Action.php?action=338&n=66&t=mine', method='POST')
form.new_control('duree', 'hidden', {
'id' : 'Mine66',
'value' : '22'})
form.fixup()
br.form = form
br.submit()
但这似乎不起作用。我出错的任何想法?
答案 0 :(得分:1)
您是否尝试直接转到将帖子数据作为参数传递的链接?像这样:
r = opener.open('http://example.com/', data)
其中数据是作为词典的帖子数据