【发布时间】:2012-01-24 03:35:00
【问题描述】:
嗯,我正在尝试使用 Python 登录一个网站并进行机械化。
我已经打开了网站:
site = br.open("http://example.com/login.php")
我有一个表格列表(带有 br.forms)。
<GET http://example.com/search.php application/x-www-form-urlencoded
<HiddenControl(search=1) (readonly)>
...
<POST http://example.com/login.php application/x-www-form-urlencoded
<TextControl(username=)>
<PasswordControl(password=)>
<CheckboxControl(stay=[1])>
<SubmitControl(<None>=Log in) (readonly)>>
我一直在尝试提交用户名和密码字段。
我试过这样做:
br.select_form(nr=0)
br.form["username"] = 'usernamehere'
br.form["password"] = 'passwordhere'
br.submit()
然后我意识到我试图填写的表格并不是页面上的第一个表格,但是更改 0 并没有任何帮助。在这样的页面上选择表单应该怎么做?
但是!这不是唯一的问题。
当我运行它时,我得到了这个错误:
Traceback (most recent call last):
File "C:\Python26\login.py", line 34, in <module>
br.form["username"] = 'usernamehere'
...
ControlNotFoundError: no control matching name 'username'
我该如何解决这个问题? D:还是我做错了?如果是后者,我该怎么做呢?
【问题讨论】:
标签: python forms login mechanize