getEval在Selenium上返回null,即使javascript在控制台中返回值

getEval在Selenium上返回null,即使javascript在控制台中返回值,javascript,selenium,getelementbyid,Javascript,Selenium,Getelementbyid,我使用以下javascript在Selenium中运行getEval: document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1]; 当我在控制台中运行代

我使用以下javascript在Selenium中运行getEval:

document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1];
当我在控制台中运行代码时,它返回正确的结果

当我导航到需要查找的元素所在的页面并单击Selenium中的“查找”按钮时,它会查找并突出显示正确的元素。Hoever,当我在Selenium中实际运行该行时——即使我导航到正确的页面并只运行该行——我会收到一条消息,上面说

[error]Threw an exception: document.getElementById(...)is null
如何使其正确工作?

在实际JS语句启动之前,只需包含此.browserbot.getUserWindow(),然后重试

selenium.getEval("this.browserbot.getUserWindow().document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1]")