ITKeyword,专注技术干货聚合推荐

注册 | 登录

Java执行js脚本

pyzheng 分享于 2015-11-14

推荐:selenium webdriver学习(三)------------执行js脚本

在用selenium 1.X的时候常常会用到getEval()方法来执行一段js脚本来对页面进行处理,以处理一些遇到的问题。当然selenium webdriver也提供这样的一个方法:execut

http://my.oschina.net/sniperLi/blog/530338

package cn.sniper.spider.utils;
 
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.URL;
 
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
 
import org.junit.Test;
 
public class Java4JsUtil {
     
    @Test
    public void testJs1() throws Exception {
        ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
        ScriptEngine engine = scriptEngineManager.getEngineByExtension("js");
         
        StringReader reader = new StringReader("function getNum(num){return num}");
         
        engine.eval(reader);
         
        Invocable invocable = (Invocable)engine;
        Object result = invocable.invokeFunction("getNum", "2");
        System.out.println(result);
    }
     
    @Test
    public void testJs2() throws Exception {
        ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
        ScriptEngine engine = scriptEngineManager.getEngineByExtension("js");
        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\test.js")));
         
        engine.eval(reader);
         
        Invocable invocable = (Invocable)engine;
        Object result = invocable.invokeFunction("getNum", "2");
        System.out.println(result);
    }
     
    @Test
    public void testOnlineJs() throws Exception {
        ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
        ScriptEngine engine = scriptEngineManager.getEngineByExtension("js");
        URL url2 = new URL("http://10.161.56.231:8888/tjfxpt/resources/js/common/common.js");
        InputStream inputStream = url2.openStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        System.out.println(reader.readLine());
        engine.eval(reader);
         
        Invocable invocable = (Invocable)engine;
        Object result = invocable.invokeFunction("fmoney", new Integer[]{10, 2});
        System.out.println(result);
         
    }
     
}

推荐:java 执行linux命令或shell脚本方法

一.容易出错的地方之一,执行ps等命令要注意到jvm调用的linux命令也是一个进程 背景:第1,2,3,4行代码都可以完成java 执行shell脚本的任务,第2,3,4行代码

http://my.oschina.net/sniperLi/blog/530338 package cn.sniper.spider.utils; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStream;import

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。