2017-05-15 1 views
0

scriptEngine을 사용하여 Java에서 새 탭을 열려고합니다.ScriptEngine을 사용하여 Java에서 Javascript 호출

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가를 : "창은"정의되지 않았습니다. (# 1) in line number 1

나는 윈도우를 참조 할 수 없다는 것을 이해하지만, 대체 무엇입니까?

모든 포인터가 도움이 될 것입니다.

답변

0

이 Java 조각에는 브라우저에 대한 참조가 없으므로 해당 창이 정의되어 있지 않다는 오류가 표시됩니다.

Java에서 브라우저와 실제로 상호 작용하려는 경우 Selenium Webdriver를 고려해보십시오. 이것은 종종 테스트 목적으로 사용되지만 사용자의 요구에 맞을 수도 있습니다.

페이지를 여는 방법은 Selenium example을 참조하십시오.

관련 문제