Добрый день!
Пытаюсь выполнить jquery скрипт с помощью JavascriptExecutor. В приложении используется jquery. (В браузере выполняются те скипты что хочу запустить). Также пробовал сделать инъекцию jq, не помогло. Просто js выполняется.
Добрый день!
Пытаюсь выполнить jquery скрипт с помощью JavascriptExecutor. В приложении используется jquery. (В браузере выполняются те скипты что хочу запустить). Также пробовал сделать инъекцию jq, не помогло. Просто js выполняется.
Приведите примеры кода где и как Вы пытаетесь выполнить jquery.
Что на выходе? Exception? Или просто ничего не происходит?
@NikS
> String script = “$(’[data-id=“50622”] .jsViewItem’).click();”;
JavascriptExecutor js = (JavascriptExecutor) WebDriverRunner.getWebDriver(); js.executeScript(script);
Ничего не происходит
А если в консоли браузера выполнить этот код? Работает?
Когда вы работаете через консоль, приложение находится в состоянии “покоя”, т.е. элементы уже все найдены. Логично, что с поиском никаких проблем не будет. А следовательно и команды будут прекрасно выполняться.
Когда же вы запускаете сценарий через WebDriver
, ваш скрипт не будет ничего ждать. И если элемент не бы найден (не успел прогрузиться / обновиться и т.п.), ничего собственно и не произойдет.
Так что, во-первых, вам следует возвращать результат операции на элементе, что есть - список найденных объектов, либо пустой список.
А во-вторых, перед непосредственным запуском скрипта, нужно как минимум подождать появления объекта средствами WebDriver
.
По второму до выполнения скрипта жду появления элемента.
Проблема оказалась пока не актуальной. В форме не используется скролл.