16_python_练习题——使用webdriver获取当前页面截屏以及滑动页面

通过 webdriver可以方便的访问一些有js加载的页面,但是同时,有些页面加载需要时间,或者是必须滑动页面才能访问

今天就来实验一下

要访问的页面是淘宝MM的一个页面,这个页面有600多张照片,打开的时候加载需要时间,因此就用这个来验证

MM图片入口

代码如下:

#!/usr/bin/python
#coding=utf-8
__author__ = 'Jimy_fengqi'

import sys,time
from selenium import webdriver

reload(sys)
sys.setdefaultencoding('utf-8')

class TaoBaoSpider:
	def __init__(self):
		#创建driver隐形浏览器
		self.driver = webdriver.PhantomJS()
	
	def getMMurl(self):
		url="https://mm.taobao.com/self/album_photo.htm?spm=719.6642053.0.0.o5BDC0&user_id=687471686&album_id=183809402&album_flag=0"
		#获取页面内容
		try:
			#获取页面内容
			self.driver.get(url)
			#定义加载
			js = "var q=document.body.scrollTop=100000"  
			for i in range(50):
				#循环执行下滑页面50次
				self.driver.execute_script(js)
				#加载一次,休息一下
				time.sleep(0.1)
				#截屏
				self.driver.save_screenshot(str(i)+'.png')
				#统计当前有多少照片
				images_all=self.driver.find_elements_by_xpath('//div[@class="mm-photoW-cell-middle"]')
				print u'这是第%d次统计,现在有%d个图片被加载' % (i+1,len(images_all))
		#找到当前页面所有的个人主页入口
		except Exception,e:
			print e
			self.driver.quit()
		self.driver.quit()
if __name__ == '__main__':
	print ''''
			***************************************** 
			**    Welcome to Spider for TaobaoMM   ** 
			**      Created on 2017-3-17           ** 
			**      @author: Jimy_fengqi           ** 
			*****************************************
		http://blog.csdn.net/qiqiyingse/article/details/62896264
		'''
	spider=TaoBaoSpider()
	spider.getMMurl()


运行结果如下:


			***************************************** 
			**    Welcome to Spider for TaobaoMM   ** 
			**      Created on 2017-3-17           ** 
			**      @author: Jimy_fengqi           ** 
			*****************************************
		http://blog.csdn.net/qiqiyingse/article/details/62896264
		
这是第1次统计,现在有16个图片被加载
这是第2次统计,现在有48个图片被加载
这是第3次统计,现在有48个图片被加载
这是第4次统计,现在有64个图片被加载
这是第5次统计,现在有80个图片被加载
这是第6次统计,现在有96个图片被加载




posted @ 2017-03-17 20:03  枫奇丶宛南  阅读(22)  评论(0编辑  收藏  举报