【问题标题】:how to remove AttributeError in Robobrowser如何删除 Robobrowser 中的 AttributeError
【发布时间】:2017-03-22 11:40:35
【问题描述】:

我正在尝试登录我的大学 ID 并使用 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'

这是我的代码。

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)

这里是源代码。

 <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>

有什么帮助吗?

【问题讨论】:

    标签: python html python-3.x web-scraping robobrowser


    【解决方案1】:

    好的,所以我得到AttributeError 的原因是因为用简单的语言.. 没有从对象本身解析事物,即opens,预定义robobrowser 是一个自动浏览器,所以每件事正在被自动化,无论我们编写什么请求或方法或任何代码,我们必须这样做,

    print(browser.parsed)
    

    而不是

    print(opens.parsed)
    

    谢谢!

    【讨论】:

      猜你喜欢
      • 2014-06-18
      • 2021-03-26
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 2020-08-17
      • 2021-10-28
      相关资源
      最近更新 更多