我正在编写自动化脚本,我需要从 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:“文档”未定义。(#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.mozilla.javascript.internal.EcmaError:TypeError:
在对象 [object Object] 中找不到函数 getElementById。(#4) 在第 4 行
请提出建议。