我正在尝试使用scriptEngine从java打开新选项卡。
private static void openWindow(URL url) {
String javascript = "window.open(url, '_blank').focus()";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
engine.put("url", url);
try{
engine.eval(javascript);
}
}
catch(ScriptException exception){
log4j.error("Couldn't open URL in Browser: " + exception.getMessage(), exception);
}
}
我收到以下异常:
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "window" 未定义。在第 1 行
我知道窗户不能被引用,但这里的替代方案是什么?
任何指针都会有很大帮助。
这段Java没有对浏览器的引用,因此错误地说窗口没有定义。
如果你真的想从Java与浏览器交互,你可以考虑研究Selenium Webdriver。这通常用于测试目的,但也可能满足您的需求。
要打开页面,请参阅此硒示例。