3

サイトhttps://everest.ioe.edu.np/lanusers/dialup.phpにログインしてから 、「パスワードの変更」リンクをクリックし、パスワードを変更して、次のコードで mechanize を使用してログアウトしようとしました。

import mechanize        

def tryinglogin():
    browser = mechanize.Browser(factory=mechanize.RobustFactory())
    browser.set_handle_robots(False)
    r = browser.open("https://everest.ioe.edu.np/lanusers/dialup.php") #surfing web page
    browser.select_form(nr=0)               # Find first form of web page
    browser.form["name"] = "067bce001"
    browser.form["password1"] = "abc"    
    pass="password1"
    browser.submit()                    # submit

    html = browser.response().readlines()       # Read the response, html 
    for i in range(0,len(html)):
    if '<u>Your current LAN account status</b>' in html[i]:  # filter    out one line 
        print(html[i])


    browser.find_link(text='Change password')
    req = browser.click_link(text='Change password')
    browser.open(req)
#print browser.response().read()     #print html of logged in page

  r = browser.open(req)                #  surfing web page ,no problem upto here in code
  browser.select_form(nr=0)             
  browser.form["password"] = "abc"
  browser.form["password1"] = "bcdef"  # change password field  
  browser.form["password2"] = "bcdef"   #verify password field
  browser.submit()      

if __name__ == "__main__":
    tryinglogin()

コードは正常にログインし、パスワードの変更リンクをクリックして、パスワードの変更ページに移動しますが、「ParseError: nested FORMs Error」が表示されます。

私のボットが機能しない理由を理解するのを手伝ってください。

4

0 に答える 0