我有一个像
这样的课程from robobrowser import RoboBrowser
class myclass:
def __init__(self):
self.browser = RoboBrowser(history=True,\
user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0)'\
Gecko/20100101 Firefox/40.1,parser='lxml'
def test(self,text):
self.browser.open('https://www.url.com/'+urlthread)
return self.browser.find(class_='postfoot').find(class_='ip').get('title')[5::]
但如果我打电话:
In [0]: mc=myclass()
In [1]: mc.test('textblabla')
AttributeError: 'NoneType' object has no attribute 'find'
所以,为了调试,我在控制台中尝试了:
In [0]: mc=myclass()
In [1]: brw=mc.browser
In [2]: brw.open('http://www.url.com/textblabla')
In [3]: brw.find(class_='postfoot').find(class_='ip').get('title')[5::]
Out[3]: 'WORKS FINE'
我无法理解为什么它实际上在控制台中工作而不是在班级......
你能帮帮我吗?非常感谢答案 0 :(得分:0)
错误在于:
RoboBrowser(history=True,\
user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0)'\
Gecko/20100101 Firefox/40.1,parser='lxml'
\
用于多行字符串连接。 RoboBrowser()
初始化中存在错误。
应采用以下格式:
RoboBrowser(session=None, parser=None, user_agent=None,
history=True, timeout=None, allow_redirects=True, cache=False,
cache_patterns=None, max_age=None, max_count=None, tries=None,
multiplier=None)