当我使用unittest运行此代码时,context
方法中的print(self.req.text)
语句按预期工作,但get_page()
方法中的get_html()
方法会产生错误AttributeError: 'NoneType' object has no attribute 'text'
。我想知道为什么会这样。我是否犯了错误,或者是否与请求回复有关,这意味着他们无法以我尝试过的方式存储在课堂中?如果是这样,通过阅读包文档对我来说并不明显。非常感谢。
from . import helpers
import requests, bs4
class Page(object):
"""Page """
def __init__(self, url=None):
self.url = url
self.req = None
self.html = None
self.soup = None
def get_page(self, url):
self.req = requests.get(url)
print(self.req.text) # This works
return self.req
def get_html(self):
print(self.req.text) # This errors
self.html = self.req.text
return self.html
答案 0 :(得分:0)
self.req = None
中的__init__
似乎是原因。
您有两个选择
get_page()
get_html
self.req = None
中的__init__
重写为self.req = self.get_page()