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. Mysql5.6.24 zip解压缩版配置及修改默认编码方法

    win64位下载地址: http://dev.mysql.com/downloads/file.php?id=456319 下载完毕后解压 配置环境变量 在Path后加上mysql解压后bin文件夹所 ...

  2. JAVA中List、Map、Set的区别与选用

    类层次关系如下: Collection ├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap └WeakHashM ...

  3. ajenti试用感受

    ajenti试用感受_展现技术动态_百度空间 ajenti试用感受   今天看开源中国介绍一款名为"服务器管理系统"的开源软件发布了,名为ajenti,页面感觉不错,对机器的采集信 ...

  4. HTTP协议是无状态协议,怎么理解?

     Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的全部信息外,该环境不保存与会话有关的不论什么信息. 自己的理解,在 ...

  5. Oracle/Mysql批量插入的sql,效率比较高

    1.oracle 批量插入: insert into tableName(col1,col2,col3...)    select 1,'第一行第一列值','第二列值' from dual union ...

  6. Django admin究竟要怎么写才优雅

    比如在Django admin 注册models时,会用到. 对于APP里自带的models,可以使用这种方式注册. from django.contrib import admin # Regist ...

  7. Qt见解:Post 与 Get 的区别(Get将参数直接与网址整合为一个整体,而Post则将其拆为两个部分)

    第一次接触Qt的Http项目,今天看了一下Post和Get的基本使用方法,就开始尝试了.原先以为Post专门用于向服务器发送请求,然后接收服务器应答的: 而Get只是单纯从服务器获取资源,比如下载这个 ...

  8. Linux上MongoDB的安装与配置

    长话短说,一共有两种方法.(我随便选了一个发行版Mint) 一.apt-get方法 官网上说的很清楚: http://docs.mongodb.org/manual/tutorial/install- ...

  9. Windows failed to start.界面下修复win8引导

    首先要保证 系统本身是没有问题的 不是在装机的时候出现这种情况 那么可以按照以下方法来进行 首先要在另外一台电脑上将win8刻进u盘 启动时以u盘为第一启动项启动 进入win8装机界面 点击左下角的修 ...

  10. CodeForces - 27E--Number With The Given Amount Of Divisors(反素数)

    CodeForces - 27E Number With The Given Amount Of Divisors Submit Status Description Given the number ...