Как представить код JavaScript с переменной в методе executeScript? - PullRequest
0 голосов
/ 01 мая 2018

Я реализую сценарий селена, выполняя код JavaScript с помощью метода executeScript. При котором возникает проблема с одинарными (') и двойными кавычками (") при передаче переменной.

Не работает:

js.executeScript("return document.querySelector('input[value=\" '"+group_name+"' \"]').value;").toString();

Работа со статическим значением:

js.executeScript("return document.querySelector('input[value=\" DemoTest \"]').value;").toString();

Здесь ('input[value=\" '"+group_name+"' \"]') переменная group_name закрыта кавычками переменной Java,

Итак, технически это 3 кавычки, которые необходимо пройти
1. Перед возвратом выписки ""
2. По запросуВыбор ''
3. Передача значения переменной в querySelector ""

Обратите внимание: DOM принимает, только если он прошел через различные кавычки с внутренними строками 2 и 3.

Здесь я получаю SyntaxError от DOM: он говорит SyntaxError : missing ) after argument list

Итак, как я могу передать переменную таким образом, чтобы DOM принял ее с необходимым синтаксисом.

1 Ответ

0 голосов
/ 01 мая 2018

Попробуйте использовать следующий код:

js.executeScript("return document.querySelector('input[value=\"' + arguments[0] + '\"]').value;", group_name).toString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...