Как выполнить JavaScript с носорогом в Java? - PullRequest
2 голосов
/ 27 августа 2011

Дайте HTML-код веб-страницы в строковой переменной, как я могу выполнить в ней JavaScript с помощью Rhino?

Я прочитал учебник на домашней странице Rhinos безуспешно.

Ответы [ 4 ]

3 голосов
/ 27 августа 2011

Вы можете использовать Java Scripting Engine JSR-223.

ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
try {
    jsEngine.eval("print('Hello, world!')");
} catch (ScriptException ex) {
      ex.printStackTrace();
}

Руководство программиста по Java Scripting

1 голос
/ 29 августа 2011

HtmlUnit - это продукт, построенный на основе Rhino, который позволяет тестировать веб-приложения, содержащие клиентский JavaScript.Я не использовал его сам, но порекомендовал его одному разработчику, который это сделал и был очень доволен.

Трудно понять, хотите ли вы этого, поскольку ваш первоначальный вопрос мало говорит о том, почемухочу выполнить JavaScript в первую очередь.

0 голосов
/ 28 августа 2011

Rhino позволит вам выполнять только автономный JavaScript.

Если вы хотите запустить JavaScript в HTML, вам необходим браузер для обеспечения времени выполнения - вы можете использовать для этого WebDriver.

Что вы пытаетесь сделать?

0 голосов
/ 27 августа 2011

Вы не можете сделать это прямым способом. Rhino - интерпретатор JavaScript, но это, безусловно, означает , а не , что означает, что он может делать то же, что и веб-браузер.

Ваш HTML-источник может содержать <script> блоков и может ссылаться на внешние скрипты. Даже если вы смогли извлечь источники сценариев из HTML & mdash; что вам нужно сделать, так как Rhino вообще ничего не знает о HTML & mdash; Вы столкнетесь с более серьезной проблемой: DOM.

Вероятно, вам стоит поработать над неким встроенным (или подчиненным) браузерным решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...