尝试使用 Python mechanize 登录网页。由于我在查找正确表单时遇到问题,因此我将在此处复制一些代码以供未来用户使用,而不是发布 URL(代码可能会更改)。我读了这个,但似乎没有一个明确的答案。
无论如何,我在本教程中使用 mechanize 完成了所有操作,直到获得表格为止。
当我打电话时:
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 登录表单?
先感谢您!