Ну, я пытаюсь войти на сайт с помощью 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'
Как я могу это исправить? Д: Или я делаю это совершенно неправильно? Если последнее, как мне это сделать?