2017-03-22 4 views
1

zu entfernen ich versuche, mich in meine College-ID einzuloggen und holen Sie einige Informationen mit robobrowser. Bu Ich bekomme diese Traceback, wenn ich versuche, Inhalte meines Dashboards zu drucken.wie AttributeError in Robobrowser

Traceback (most recent call last): 
    File "C:/Users/User/PycharmProjects/dictionary/RobobrowseErp.py", line 26, 
in <module> 
    print(open.parsed) 
AttributeError: 'NoneType' object has no attribute 'parsed' 

Hier ist mein Code.

from robobrowser import RoboBrowser 
import requests 

start = requests.session() 

token = 'value_of_token' 
token_1 = 'value_of_token_1 ' 

stuff = { 

    '__VIEWSTATEGENERATOR': token, 
    'btnLogIn': 'Login', 
    '__VIEWSTATE': token_1, 
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, 
like Gecko) Chrome/23.0.1271.64 Safari/537.11' 
} 

start.headers = stuff 


browser = RoboBrowser(parser='lxml', session=start) 
browser.open('http://erp.college_name.edu/') 
sign_in = browser.get_form(id='some_value') 
sign_in['tbUserName'].value = 'myId' 
sign_in['tbPassword'].value = 'myPass' 
open = browser.submit_form(sign_in) 
print(open.parsed) 

Hier ist der Quellcode.

<form name="form1" method="post" action="Welcome_iie.aspx" id="some_value" class="bgLogin"> <div class="formWrap"> 
        <div class="error"> <span id="lblDispMessage"></span></div> 
         <div class="group"> 
          <input name="tbUserName" type="text" id="tbUserName"><span class="highlight"></span><span class="bar"></span> 
          <label>Username</label> 
         </div> 
         <div class="group"> 
           <input name="tbPassword" type="password" id="tbPassword"><span class="highlight"></span><span class="bar"></span> 
          <label>Password</label> 
         </div> 

          <input type="submit" name="btnLogIn" value="Login" onclick="return validation();" id="btnLogIn" class="button buttonBlue used"> 
        </div> 

Hilfe?

Antwort

1

in Ordnung, so dass der Grund, warum ich wurde ein AttributeError bekommen, weil in einem einfachen Sprache .. Dinge werden von dem Objekt nicht analysiert werden, selbst opens dh es wird vorgegeben, dass robobrowser ist ein automatisiertes Browser, so dass alles, was automatisiert werden, um was auch immer Anfrage oder Verfahren oder was auch immer Code, den wir schreiben, so dass wir zu tun haben,

print(browser.parsed) 

statt

print(opens.parsed) 

dank!

Verwandte Themen