一、项目描述
最近接到公司市场部的需求:提供一个Excel,里面有一些新闻链接地址,需要将链接网页保存为长图片,而selenium只能截屏当前屏幕,做不到整个网页,经过调研最终选择了PhantomJS。
二、PhantomJS介绍
PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如前端无界面自动化测试(需要结合Jasmin)、网络监测、网页截屏等。
PhantomJS官方地址:http://phantomjs.org/。
PhantomJS官方API:http://phantomjs.org/api/。
PhantomJS官方示例:http://phantomjs.org/examples/。
PhantomJS GitHub:https://github.com/ariya/phantomjs/。
三、详细代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os,re
from selenium