Я пытаюсь использовать Nashorn для анализа содержимого JS веб-страницы. Я использую следующий код для инициализации Насхорн и загрузить страницу:Nashorn parse web-страница
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine eng = manager.getEngineByName("nashorn");
//...
URL url = new URL("http://192.168.1.1/userRpm/StatusRpm.htm");
URLConnection connection = url.openConnection();
try {
eng.eval(new InputStreamReader(connection.getInputStream()));
value = eng.get("mobileParam[0]");
System.out.println(value);
} catch (ScriptException ex) {
Logger.getLogger(Router.class.getName()).log(Level.SEVERE, null, ex);
}
URLConnection может достигнуть страницы, я пытался напечатать вывод, и она работала, но по непонятной причине, команда: eng.eval(new InputStreamReader(connection.getInputStream()));
отдавания me the error:
Caused by: jdk.nashorn.internal.runtime.ParserException:
<eval>
:1:0 Expected an operand but found <
Возможно, я неправильно понял, как это работает. Кто-нибудь может объяснить меня лучше?
выход URL является:
< SCRIPT type="....
Вы, вероятно, ищете селен. – Thufir