Eh, bir siteye Python kullanarak giriş yapmaya ve mekanize etmeye çalışıyorum.Mekanizma ile Form Gönderme (Python)
site = br.open("http://example.com/login.php")
Ve (br.forms birlikte) formların listesi var:
Ben sitesi açıldı var.
<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)>>
Kullanıcı adı ve parola alanlarını göndermeye çalışıyorum.
br.select_form(nr=0)
br.form["username"] = 'usernamehere'
br.form["password"] = 'passwordhere'
br.submit()
Sonra ben doldurmaya çalışıyorlardı formlar sayfadaki ilk olmadığını anlayınca, ama 0 şeyle yardım etmedi değişen:
böyle yapıyor çalıştı. Böyle bir sayfada formu seçmek için ne yapmalıyım?
Ancak! Tek sorun bu değil.
Traceback (most recent call last):
File "C:\Python26\login.py", line 34, in <module>
br.form["username"] = 'usernamehere'
...
ControlNotFoundError: no control matching name 'username'
nasıl düzeltebilirim: Onu çalıştırdığınızda
, bu hatayı alıyorum? D: Yoksa tamamen yanlış mı yapıyorum? Eğer ikincisiyse, bunu nasıl yapacağım?
br.select_form (name = "kullaniciadi") bir hatayı geri atar: FormNotFoundError: 'username' ismiyle eşleşen bir form yok - daha önce olduğu gibi, ama bu sefer eklediğim satırla. – Matthew
Doğru isme sahip olduğunuzdan emin misiniz? br.forms() formunu deneyin: print form – tovmeod
Pozitif. Br.forms() ve ham html'yi kontrol ettim. – Matthew