尝试使用Python机制来登录网页。由于我在查找正确的表单时遇到问题,而不是发布URL(代码可能会更改),我将在此处复制一些代码供将来的用户使用。我读过this,但似乎没有明确的答案。
无论如何,我在this tutorial进行了机械化处理,直到我获得表格。
我打电话的时候:
for form in br.forms():
print form
我回来了:
POST https://www.myexample.com/x-www-form-urlencoded
HiddenControl(utf8=✓) (readonly)
HiddenControl(authenticity_token=BfqPL1ilOXeg08Or/CEBAiK4duWgncY=
CheckboxControl(affiliate[remember_me]=[1])
查看我看到的原始HTML:
<label for="affiliate_email">Email<./label>
<.input autofocus="autofocus" id="affiliate_email"
name="affiliate[email]" size="30" type="email" />
但是,当我尝试选择电子邮件字段时,我收到一个表单未找到错误。
br.select_form(name="affiliate[email]")
# updated to
br.select_form(nr=0)
# Now what do I do here to enter something into that form?
br.form['someIDhere']='myEmail@example.com'
我也尝试过使用表单ID和许多其他可能的表单名称。我不明白为什么用br.forms()打印表单会返回那些奇怪的结果,这是否意味着该网站使用javascript登录表单?
提前谢谢!
答案 0 :(得分:0)
affiliate[email]
不是表单的名称,而是表单中的输入。
尝试使用:
br.select_form(nr=0)
如果表单没有名称,并且是页面上的第一个/唯一表单。