我正在使用selenium webdriver测试smartgwt应用程序。 这对于smartgwt小部件非常有效,如下所示:
JavascriptExecutor executor = (JavascriptExecutor) context;
return (WebElement) executor.executeScript("return AutoTest.getElement(arguments[0]);", location);
在上述情况下,位置就像//IButton[id=isc_button]/
但是,我们的页面上还有一些“基本”html元素,它们不是smartgwt小部件,但它们确实有一个id。因此,我尝试按以下方式执行这些操作(因为上述内容对这些元素不起作用):
JavascriptExecutor executor = (JavascriptExecutor) context;
executor.executeScript("return document.getElementById(arguments[0]);", location);
但这不起作用。即使使用了firebug,我也尝试document.getElementById('xxx')
获取一个我知道存在给定ID的元素(因为我可以通过firebug的html选项卡上的检查器找到它),但这也不起作用。
有人知道为什么,以及如何通过生成的DOM树中的javascript来获取简单的html元素?
谢谢!