1、下载phantomjs

http://phantomjs.org/



2、运行

新建phantomjs.bat,记得改目录路径

里面内容为:

D:\java\phantomjs\phantomjs.exe D:\java\phantomjs\code\server.js 8080

3、新建server.js文件,放在code目录下,注意code目录也是新建的,以下是server.js内容

if (s=== "success" ) {
            page.evaluate(function () {
                $(".canvas_box").appendTo(".app_box").css("float","none").siblings().remove();
                $(".app_box,body").css("margin",0);
            });             var base64= page.renderBase64('png'),type="data:image/png;base64,"
            var img="<img src='"+type+base64+"'>"
            res.write(img);
            res.close();
        }var page = require('webpage').create();
var server = require('webserver').create();
var sys = require('system'); if(sys.args.length !== 2){
    console.log('args is error,demo: phantomjs server.js 80');
    phantom.exit(1);
}else{
    console.log("welcome! system is start on port:"+sys.args[1]+"\ntest url is: http://localhost/http://www.baidu.com");
}
 
var port = sys.args[1];
 
//输出到网页预览图片,地址:http://localhost/http://www.baidu.com
/*
service = server.listen(port,function(req, res){
    var url=decodeURIComponent(req.url).substr(1);
    res.statusCode = 200;
    res.headers = {
        'Cache': 'no-cache',
        'Content-Type': 'text/html;charset=utf-8'
    };     page.open(url, function (s) {
        if (s=== "success" ) {
            page.evaluate(function () {
                $(".canvas_box").appendTo(".app_box").css("float","none").siblings().remove();
                $(".app_box,body").css("margin",0);
            });             var base64= page.renderBase64('png'),type="data:image/png;base64,"
            var img="<img src='"+type+base64+"'>"
            res.write(img);
            res.close();
        }
    });
});*/ //输出base64字符串
service = server.listen(port,function(req, res){
    var url=decodeURIComponent(req.url).substr(1);
    res.statusCode = 200;
    res.headers = {
        'Cache': 'no-cache',
        'Content-Type': 'text/html;charset=utf-8'
    };     page.open(url,/*{ keepAlive: true },*/ function (s) {
       var base64= page.renderBase64('png');
        res.write(base64);
        res.close();
    });
});

4:訪问地址

localhost:8080/http://baidu.com

phantomjs环境搭建已经运行的更多相关文章

  1. Mac系统下STF的环境搭建和运行

    本文参考以下文章整理:MAC 下 STF 的环境搭建和运行 一. 前言 STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设 ...

  2. JeeSite环境搭建及运行和打包(master20161117)

    涉及的软件: 1.phpStudy(主要用MySql) 2.maven3(用于依赖包,下面我将上传已经下载好所有依赖包的版本,保证运行正常) 具体操作: 0.前言 由于GitHub上的Release版 ...

  3. Ahjesus Nodejs01 环境搭建及运行

    访问http://nodejs.org/,根据系统选择下载文件,我用的win7 64 安装一路下一步直到完成 运行cmd输入node -v查看是否安装成功 成功会显示版本号 到此环境搭建完毕 ==== ...

  4. Eclipse环境搭建并且运行wordcount程序

    一.安装Hadoop插件 1. 所需环境  hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linu ...

  5. hadoop_spark伪分布式实验环境搭建和运行实例详细教程

    hadoop+spark伪分布式环境搭建 安装须知 单机模式(standalone): 该模式是Hadoop的默认模式.这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统 ...

  6. linux/centos elasticsearch 环境搭建 安装 运行 使用

    环境搭建也是有些坑的存在,所以整理了一下搭建流程,安全无痛. ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例. 一.java 环境 直接apt安装火箭一 ...

  7. WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行

    最近项目涉及到较多设备批量管理的需求,发现一工具,可以批量对大量设备进行WEB端管理,工具主页:https://openstf.github.io/工具名STF(Smartphone Test Far ...

  8. jenkins+phantomjs环境搭建及使用

    #jenkins+phantomjs 前端性能自动化测试的安装和使用#gcc GNU编译器套件 https://gcc.gnu.org/ #nginx 高性能的HTTP和反向代理服务器 http:// ...

  9. widows下node.js环境搭建及运行js

    昨天刚刚开始学习node.js,网上一些教程不是很清楚,所以总结一下我的经验. 1.安装. 安装省略,就到官网上去下载安装一下就好.安装完成之后,打开cmd,输入"path",查看 ...

随机推荐

  1. 宣布在 Azure 镜像库中正式推出 Windows Server 2012 R2 并降低 Windows Azure 的实例定价

    我们今天将宣布两条消息,为使用基础结构服务的客户提供更多选择和成本节约:在镜像库中推出 Windows Server 2012 R2 以及降低 Memory Intensive 计算实例定价. 虚拟机 ...

  2. java面试题系列12

    1.面向对象的特征有哪些方面 a.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象 ...

  3. [置顶] SQL日期类型

    在做机房收费系统的时候,上下机,我觉得是我在整个系统中遇到最棘手的问题了,现在就给大家,分享一下,我是怎样解决的. SQL中有3中数据类型是关于日期的,每一种的用法是不同的,当你用错了,就会出现下面这 ...

  4. Android调用系统关机与重启功能

    我是在android源码里编译的package/apps/,因为需要调用的关机接口是不对上层开放的,在eclipse里面不能调用. 我主要是介绍调用android的关机功能,因为在调试过程中,关机的一 ...

  5. Scala函数---既存类型

    语法: Type ::= InfixType ExistentialClauses ExistentialClauses ::= „forSome‟ „{‟ ExistentialDcl {semi ...

  6. STL之string插入

    #include <iostream> #include <string> using namespace std; int main() { string s("h ...

  7. Error D8016 '/ZI' and '/Gy-' command-line options are incompatible

    使用vs运行工程时出现错误: Severity Code Description Project File Line Suppression StateError D8016 '/ZI' and '/ ...

  8. hdu 4790 Just Random 神奇的容斥原理

    /** 大意: 给定[a,b],[c,d] 在这两个区间内分别取一个x,y 使得 (x+y)%p = m 思路:res = f(b,d) -f(b,c-1)-f(a-1,d)+f(a-1,c-1); ...

  9. Spring读书笔记-----部署我的第一个Spring项目

    一.Spring介绍 Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架.Spring它完成了大量开发中的通用步骤,留给 ...

  10. 统计单词频率--map

    问题描述: 输入一个单词列表,每行一个单词,统计单词出现的频率 思路: 主要是使用c++中的map容器.map实质上是一个二叉查找树,可以做到插入.删除.查询,平均查询时间在O(logn).n为map ...