在爬虫中,有时会遇到这种情况,数据的展示是不是一页一页的,而是通过不断的下拉滚动条来加载数据。例如一点咨询(http://www.yidianzixun.com/)和微博(在未登录的状态下:http://weibo.com/?category=2)
那么这种情况,在抓取数据的时候,如果要抓取更多的数据,就需要模拟人工来下拉滚动条,来加载更多的数据进行抓取。通过运行js 脚本来达到目的
具体方法如下:
def scroll_foot(self):
'''
滚动条拉到底部
:return:
'''
js = "var q=document.documentElement.scrollTop=10000"
#将滚动条移动到页面的顶部
js="var q=document.documentElement.scrollTop=0"
return self.driver.execute_script(js)
#若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作
js="var q=document.getElementById('id').scrollTop=100000"
driver.execute_script(js)