PhantomJS入门教程

PhantomJS 是一个无界面的Webkit内核浏览器,内置JavaScript API,对DOM操作,CSS选择器,JSON,Canvas,SVG有非常快和原生的支持,可以用于页面自动化测试,网络监测,网页截图等

安装(linux平台为例,版本为2.1.1)

  • wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
    ==或者是官网手动下载.bz2文件==
  • tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
    本文假设放在:/usr/local/ 下(后边会用到这个路径)
  • 如果解压报错,可能系统没有安装bzip2,先执行下面命令安装:
    yum install bzip2.x86_64

环境变量配置

  • sudo vi /etc/profile
  • 文件末尾增加:
    export PATH=$PATH:/usr/local/phantomjs-2.1.1-linux-x86_64/bin
  • source /etc/profile
  • 查看版本:phantomjs --version

截图中文网站乱码问题

  • phantomjs --output-encoding=gbk --script-encoding=gbk demo.js
  • phantom.outputEncoding="gbk"

截图没有文字

phantomjs截图过程中,发现没有文字信息,由于项目使用了微软雅黑,解决方法是安装微软雅黑字体

基础代码(截屏)

var page = require('webpage').create();
page.viewportSize = { width: 1024, height: 768 };
page.clipRect = { top: 0, left: 0, width: 1024, height: 768 };
page.open('http://example.com/', function() {
  page.render('demo.png');
  if (status === "success") {
    //考虑到网页中使用了ajax进行异步加载数据,所以等待5秒钟让页面加载完成后再截屏
    setTimeout(function() {
    page.render('example.png');
      phantom.exit();
    }, 5000);
  }
  //phantom.exit();
});

你可能感兴趣的:(PhantomJS入门教程)