[Python爬虫] Selenium +phantomjs 模拟下拉滚动条

  在爬虫中,有时会遇到这种情况,数据的展示是不是一页一页的,而是通过不断的下拉滚动条来加载数据。例如一点咨询(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" 
#J_valueList v-fixed 为某个标签的ClassName
js = 'document.getElementsByClassName("J_valueList v-fixed")[0].scrollTop=10000'
driver.execute_script(js) 

 

posted on 2017-05-09 17:48  shaomine  阅读(4667)  评论(0编辑  收藏  举报