16_python_练习题——使用webdriver获取当前页面截屏以及滑动页面
通过 webdriver可以方便的访问一些有js加载的页面,但是同时,有些页面加载需要时间,或者是必须滑动页面才能访问
今天就来实验一下
要访问的页面是淘宝MM的一个页面,这个页面有600多张照片,打开的时候加载需要时间,因此就用这个来验证
代码如下:
#!/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个图片被加载