executeScript WebDriver - PullRequest
       5

executeScript WebDriver

0 голосов
/ 04 мая 2011

Я хочу использовать WebDriver для выполнения некоторых javascripts в приложении, которое я тестирую. Я использую следующий код:

JavascriptExecutor js = (JavascriptExecutor) driver;
String label = (String)js.executeScript("return document.g.nodes[1].label", null); 

g глобальный объект javascript на странице. если я проверяю это с консоли, используя элементы проверки, я вижу, что все есть ... хотя, когда я выполняю этот скрипт, я генерирую исключение, в котором говорится, что «Невозможно создать свойство узла из неопределенного».

Ведьма g по какой-то причине не определена на странице.

у кого-нибудь есть идеи?

Это не проблема с синхронизацией, так как я работаю в режиме отладки и вручную ожидаю загрузки страницы.

спасибо

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Не являются ли объекты javascript прикрепленными к окну, а не к документу?

По крайней мере, я всегда использовал window.wh независимо от веб-драйвера, и он прекрасно работает.

0 голосов
/ 20 июня 2014

Я думаю, что эта тема может быть полезной.Если вы не знакомы с eval, возможно, есть более простой способ.

Ссылка ссылается на ScriptEngineManager.

    ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");        
Object result = engine.eval("3+4");

Есть ли в Java функция eval ()?

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