2012-09-28 65 views
1

幫助我玩機械化 試圖使蠻力,我的網站 我只是想知道如何檢查,如果表單已成功提交Python中,需要在製作「蠻力」使用機械化

到目前爲止:

import mechanize 
import cookielib 
import urllib 
import HTMLParser 
import re 
# Browser 
br = mechanize.Browser() 

# Cookie Jar 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 

url = 'http://mywebsite' 
pattern = '''Welcome (.*)''' 

passwords = ('lol','lol1','correctPassword') 

r = br.open(url) 
try: 
    br.select_form(nr=0) 
    br.form['username']='Matt' 
    found = False 
    i=0 
    while not found: 
     br.form['password']=passwords[i] 
     # here I want to check if br.submit() was successful 
     # than break the loop (or simply make found = True) 
     # if not, increment i 
     br.submit() 
except: 
    print "Not Good" 
html = br.response().read() 
message = re.findall(pattern, html) 

parser = HTMLParser.HTMLParser() 
print parser.unescape(message) 

回答

2

我有一個類似的問題。並沒有關於它的文件。 如果還不知道。我建議你使用br.click()

我通過查看網頁上的錯誤元素來檢查錯誤。 像這樣

request = br.click(name='login') 
response = br.open(request) 
mainpage = response.read() 
if mainpage.find('<the error text>')==-1 
     #print "Could not login" 
     success = True 

希望這有助於