Есть ли способ выполнить функции JavaScript из кода Java - PullRequest
1 голос
/ 17 октября 2019

Я пытаюсь выполнить функцию javascript из кода Java.

Я использовал JavascriptExecutor из пакета селена.

Я попробовал код ниже

  JavascriptExecutor js;
  js.executeScript("let time;");
  js.executeScript("time = 2;");
  js.executeScript("function f(){console.log(time);}");
  js.executeScript("f()");

Это вывод

Exception in thread "Thread 0" 
org.openqa.selenium.JavascriptException: javascript error: f is not defined

Есть ли способ выполнить вышеуказанный скрипт из кода Java? это возможно?

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Вы можете использовать свойства окна (или любые другие встроенные), которые будут отображаться:

js.executeScript("window.time = 4");
js.executeScript("window.f = () => console.log(window.time)");
js.executeScript("window.f()");
1 голос
/ 17 октября 2019

Попробуйте это:

String script = "let time;time = 2;function f(){console.log(time);}f()";
JavascriptExecutor js;
js.executeScript(script);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...