자동화 스크립팅을 수행하고 있으며 내용을 확인하기 위해 iframe에서 데이터를 읽어야합니다. 내 자바 코드에서TypeError : 객체에서 getElementById 함수를 찾을 수 없습니다.
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) in at line number 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:
Cannot find function getElementById in object [object Object]. (#4) in at line number 4
제안하십시오입니다.
아마도 웹 브라우저를 통해 실행하지 않기 때문에 문서 나 창을 가지고 있지 않습니다. 맞습니까? –
실제로 셀레늄에 종사하고 있습니다. 웹 브라우저를 사용하지만 몇 가지 기능 만 사용할 수 있습니다. 이것에 대한 해결책이 있습니까? –
죄송합니다. 한 가지 확실한 점은, 허공에서 문서를 만들 수는 없습니다. –