인트라넷 사이트의 자동화를 위해 노력하고 있습니다. 우리는이 목적을 위해 자바 스크립트와 함께 HTA를 사용하고 있습니다. 브라우저에서 사이트를 여는 대신 HTA 자체를 사용하여 Iframe을 사용하고 있습니다 (브라우저 보안 설정으로 인해 아무 것도 할 수 없기 때문에). 그러나 우리는이 웹 페이지에 로그인 할 때마다 다음과 같은 오류 메시지가 나타납니다. "정의되지 않은 참조 또는 null 참조의 하위 '속성을 가져올 수 없습니다.' 아래 URL은 입니다. http : // *******.. * : 8888/cs/domainname/cache/PT_HNAV_JS_MIN_1.jsHTA 내부 IFrame 요소를 가져 오는 중에 오류가 발생했습니다.
더 구체적으로 말하면, 그것은 peoplesoft 사이트입니다. 누군가이 문제를 해결하는 방법을 밝힐 수 있습니까? 다음은
는 HTML 코드입니다 :<html>
<head>
<HTA:APPLICATION
APPLICATIONNAME="HTA"
SYSMENU="YES"
>
<meta http-equiv="x-ua-compatible" content="ie=9">
<title>HTA</title>
<script type="text/javascript">
function Start() {
var iframePage = document.getElementById('iframeid').contentDocument;
var userId = iframePage.getElementById("userid");
var passwd = iframePage.getElementById("pwd");
var form = iframePage.getElementById("login");
userId.value='@@';
passwd.value='@@';
form.submit();
}
</script>
</head>
<body>
<form class="form" name="form">
<input class="links" type="button" value="Project Plan" onclick="Start();" />
</form>
<iframe application="no" src="http://****.**.****:8888/psp/sitename/?cmd=login&languageCd=ENG&" width="600" height="600" id="iframeid">
</body>
</html>
내가 관련 JS 파일에있는 아이들의 첫 번째 occurance을 찾을 수있는 것은 다음과 같습니다 :
this.fakeBCReqWC = false;
var bchidden = 0;
if(eBC.childNodes.length == 0) bchidden=1;
this.bcScrollUl = ptUtil.id(pthNav.bcScrollId);
if (eBC.children[1])
var clickedURL = eBC.children[1].firstChild.href;
var nChildren = 0;
if (this.bcScrollUl)
nChildren = this.bcScrollUl.children.length;
var nIdx = 0;
if (this.fakeBCSetN) {
var isBCpath = false;
var fakechildindex = 0;
var i = 0;
while(nIdx < nChildren) {
var child = this.bcScrollUl.children[nIdx];
if(child.id && child.id.indexOf ("FAKE") != -1 && child.firstChild && child.firstChild.href == clickedURL) {
isBCpath = true; fakechildindex = nIdx; break; }
nIdx++; }
오류가 발생하면 스크립트를 계속 실행할지 묻는 메시지가 표시됩니다. (예 또는 아니오) 두 옵션 중 하나를 클릭하자마자 사이트에 로그인됩니다. 그게 바로 내가 원하는, 오류를 minue. :-) –
당신은 여전히 같은 문제가 있습니까? 왜 당신은 [이전 질문] 삭제 했습니까 (http://stackoverflow.com/questions/40416105/how-can-i-access-elements-inside-the-iframe-in-an-hta-using-vbs-and- try-to-fill), 이제는 다시 똑같이 묻습니다. – Teemu
안녕하세요, 이전 질문에서 요소에 액세스 할 수 없었습니다. 그러나, 약간의 변화 후, 나는 할 수 있었다. 따라서 이전 질문은 필요하지 않았습니다. 이 질문은 다른 오류를 지적합니다. 제발 이걸로 도와주세요 :-) –