'JSPageMiddleware' object has no attribute 'browser'

来源:9-4 selenium集成到scrapy中

BigCarrey

2017-06-15

按照老师的方法配置JSPageMiddleware类,在类里面加入browser对象,之后debug的时候就弹出上面的错误提示。说类里面没有browser属性,可我明明已经配置了啊,怎么回事呢?

具体代码如下:

class JSPageMiddleware(object):
    def __init__(self):
        self.browser = webdriver.Chrome(executable_path='D:/Program Files/chromedriver.exe')
        super(JSPageMiddleware, self).__init__() # 构建一个属于类的chrome浏览器,不需要每次在实例化的时候再调用
    def process_request(self, request, spider):
        # 通过Chrome请求动态网页
        # browser = webdriver.Chrome(executable_path='D:/Program Files/chromedriver.exe') # 打开一个浏览器
        self.browser.get(request.url) # 请求页面
        time.sleep(3) # 休眠3秒
        print('访问:{0}'.format(request.url))
        return HtmlResponse(url=self.browser.current_url, body=self.browser.page_source,
                            encoding='utf-8',request=request)


写回答

1回答

bobby

2017-06-16

你加我的qq 442421039 我先看看

0
0

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程