phantomjs环境搭建已经运行

phantomjs环境搭建已经运行

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118418.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ov7670图像传感器_cmos图像传感器封装

    ov7670图像传感器_cmos图像传感器封装注释:配置方法由其他博文复制整理而来,不是个人原创,感恩原作者 图像传感器(sensor)概述: 现在用的传感器主要有两种:一种是CCD,另一种是CMOS,现在主流的是CMOS对于CCD传感器,其输出的是带制式的模拟信号,需要经过视频解码后得到数字信号对于CMOS传感器,其直接输出数字信号,可以直接与控制器连接 像素部分 那么对于像素部分,我们常常听到30万像素,…

  • linux修改文件名字_linux搜索文件名命令

    linux修改文件名字_linux搜索文件名命令在Linux环境下修改文件名可以有不同的命令方式,比如rename、mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法。对于单个的文件,可以直接使用命令,那如果有大量的类似格式的文件名需要修改成其他格式的,该如何呢?比如某次测试后,保存的文件为Lan1.txt,Lan2.txt,……Lan100.txt这一百个文件需要在前面添加前缀变成…

    2022年10月24日
  • Java安全之FastJson JdbcRowSetImpl 链分析

    Java安全之FastJsonJdbcRowSetImpl链分析0x00前言续上文的FastjsonTemplatesImpl链分析,接着来学习JdbcRowSetImpl利用链,Jdb

    2021年12月13日
  • 【论文精读】Parallax-Tolerant Image Stitching Based on Robust Elastic Warping

    【论文精读】Parallax-Tolerant Image Stitching Based on Robust Elastic Warping基于高鲁棒性的弹性扭曲视差容忍图像拼接算法

  • Spring Boot 中使用 @Transactional 注解配置事务管理

    Spring Boot 中使用 @Transactional 注解配置事务管理事务管理是应用系统开发中必不可少的一部分。Spring为事务管理提供了丰富的功能支持。Spring事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染,因此在实际使用中声明式事务用的比较多。

  • 测试用例等价类和边界值_等价类划分和边界值的区别与联系

    测试用例等价类和边界值_等价类划分和边界值的区别与联系一、测试用例/案例(testcase/testinstance)  1、定义:是在测试执行之前,由测试人员编写的指导测试过程的重要文档,主要包括:用例编号、测试目的、测试步骤(用例描述),预期结果  2、介绍编写测试用例的7种方法:    1)等价类划分法()    2)边界值法()    3)因果图法    4)判定表法    5)正交排列法    6)测试大纲法    7)场景法(*****)  至少要掌握每种方法的适用场合(用在哪)和使用步骤(怎么用)  编写测试用例可以参考

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号