Я делаю сценарии автоматизации, и мне нужно прочитать данные из 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:
Не удается найти функцию getElementById в объекте [объект Object]. (# 4) в строке № 4
Предложения, пожалуйста.