Java TypeError:在对象中找不到函数getElementById

Java TypeError:在对象中找不到函数getElementById,java,javascript,javax.script,Java,Javascript,Javax.script,我正在执行自动化脚本编写,我需要从iframe读取数据以验证内容。在我的java代码中 ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("ECMAScript"); try { scriptEngine.eval(new FileReader("readIFrameConten

我正在执行自动化脚本编写,我需要从iframe读取数据以验证内容。在我的java代码中

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("ECMAScript");
try
{
  scriptEngine.eval(new FileReader("readIFrameContent.js"));
}
catch (ScriptException e)
{
  e.printStackTrace();
}
readIFrameContent.js是

函数GetContentFromIfRameName { var myIFrame=document.getElementByIdiFrameName; var content=myIFrame.contentWindow.document.body.innerHTML; 警报“内容:”+内容; } 但是我犯了一个错误

javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:未定义文档。在第3行输入3

所以我搜索了一个解决方案并编辑了这个函数

函数GetContentFromIfRameName { var文档=新对象; var myIFrame=document.getElementByIdiFrameName; var content=myIFrame.contentWindow.document.body.innerHTML; 警报“内容:”+内容; } 现在错误是

javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:TypeError: 在对象[object]中找不到函数getElementById。在第4行输入4


请提供建议。

我认为您不需要var document=new Object语句;
您的代码应该可以在没有此语句的情况下运行。

您没有任何文档或窗口,因为您可能没有通过web浏览器运行它-对吗?实际上我正在使用selenium。它确实使用web浏览器,但只启用了一些功能。有什么解决办法吗?没有,对不起。。有一点是肯定的,你不能凭空创建一个文档。不,它不能。如前所述,如果没有var document=new Object;,它给出了错误javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:document未定义。在第3行输入3