executeScript WebDriver

时间:2011-05-04 11:42:21

标签: javascript webdriver

我想使用WebDriver在我正在测试的应用程序上执行一些javascripts。 我使用以下代码:

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

页面中的全局javascript对象。如果我使用检查元件从控制台检查它,我发现一切都在那里...... 虽然当我执行这个脚本时,我引发了一个异常,声明“无法从未定义创建节点属性”。

Witch g由于某种原因在页面中未定义。

有人有什么想法吗?

它不是时间问题,因为我在调试中工作并手动地为页面加载完全加载。

感谢

2 个答案:

答案 0 :(得分:1)

是不是javascript对象附加到窗口而不是文档?

至少我一直使用window.whatever来自webdriver并且效果很好。

答案 1 :(得分:-1)

我认为这个帖子可能会有所帮助。如果你不熟悉eval,似乎有一种更简单的方法。

该链接指的是ScriptEngineManager。

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

Is there an eval() function in Java?