类型错误:无法在对象中找到getElementById函数



我正在做自动化脚本,我需要从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是

function getContentFromIframe(iFrameName)
{
    var myIFrame = document.getElementById(iFrameName);
    var content = myIFrame.contentWindow.document.body.innerHTML;
    alert('content: ' + content);
}

但是我得到一个错误。

javax.script。ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "document" is not defined。(#3)在第3行

所以我在谷歌上搜索了一个解决方案并编辑了函数

function getContentFromIframe(iFrameName)
{
    var document = new Object();
    var myIFrame = document.getElementById(iFrameName);
    var content = myIFrame.contentWindow.document.body.innerHTML;
    alert('content: ' + content);
}

,现在错误是

javax.script。ScriptException: sun.org.mozill.javascript .internal. ecmaerror: TypeError:
在object [object object]中找不到getElementById函数。(#4)在第4行

请建议。

我认为您不需要语句var document = new Object();你的代码不需要这个语句也可以工作。

相关内容

  • 没有找到相关文章

最新更新