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个图片被加载




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值