phantomjs介绍

一. phantomjs定义

    无界面的webkit引擎,它为我们提供了一个命名行的浏览器接口,可以帮助我们生成网页的截图以及抓取网页内容。

二. phantomjs 下载及安装

  1. 下载地址:http://phantomjs.org/download.html
  2. 直接解压安装并且配置path环境变量,执行如下命令查看配置是否正确。
     #phantomjs --version
       1.9.2

 

三.简单demo

   通过Phantomjs运行简单的hello world demo如下

  1. 创建简单的hello.js文件,其内容如下:
    console.log('Hello, world!');
    phantom.exit();
  2. 在命令行执行如下代码:
    #phantom hello.js
     hello world

     

 

   通过Phantomjs抓取网页的列子:

  1. 创建如下page.js文件,内容如下
    var page = require('webpage').create();
      page.open('http://www.baidu.com',function(){
       page.render('baidu.png');
       phantom.exit();
    });

     

  2. 执行如下命令:

    #phantom page.js

    其生成的图片结果如下:  

         

 

     例子3:loadspeed.js

      

var page = require("webpage").create(),
    system = require('system'),
    t, address;
 if(system.args.length===1)    {
  console.log('usage: loadinspeed.js <some URL>');
  phantom.exit();
 }
 
 t = Date.now();
 address = system.args[1];
 console.log(address);
 page.open(address, function(status){
 console.log(status);
  if(status !== 'success'){
    console.log('faild to load the address');
  }else {
     t = Date.now() - t;
     console.log('loading time ' + t +' msec');
  }
  
  phantom.exit();
 });

执行结果如下

D:\demo>phantomjs loadspeed.js http://www.baidu.com
http://www.baidu.com
success
loading time 513 msec

 

通过evaluate()获取页面要素:

var page = require('webpage').create();
  page.open("http://phantomjs.org/quick-start.html", function(status) {
  var title = page.evaluate(function() {
    return document.title;
  });
  console.log('Page title is ' + title);
});

运行结果

# hantomjs element.js
 the page title is Qucik Start | PhantomJS

 

四. phantomjs与其他测试框剪的整合

    phantomjs本身不是一个测试框架,因此,需要借助其他的测试框剪来进行测试运行:常见的js测试框架已进行运行其列表如下:

    

FrameworkTest Runner
Buster.JSbuilt-in
CapybaraPoltergeistTerminus
MochaChutzpahmocha-phantomjs
FuncUnitbuilt-in
Hirobuilt-in
Karma (née Testacular)built-in
JasmineChutzpahgrunt-jasmine-runnerguard-jasminephantom-jasmine
JsTestDriverjs-test-driver-phantomjs
Laikabuilt-in
Robot Frameworkphantomrobot
QUnitbuilt-inChutzpahJS Test RunnerQliveQUnited
tapedeckbuilt-in
Testembuilt-in
WebDriverGhostDriver
wrubuilt-in
YUITestGroverphantomjs-yuitest

 

以上参考http://phantomjs.org

转载于:https://www.cnblogs.com/dreamFromHere/p/3518296.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值