Hallo Zusammen,
ich beschäftige mich derzeit mit der IE.au3 und wollte aus diesem Anlass ein Script erstellen mit dem ich mein Router
konfig Programm steuern kann.
Aber ich scheitere schon bei der Password Eingabe weil die Seite Frames hat.
Wie kann ich den Quelltext von einem Frame auslesen und die Input Box ansteuern?
Spoiler anzeigen
$oIE = _IECreate("speedport.ip")
$oButton = _IEGetObjByName ( $oIE, "B1")
_IEAction($oButton,"click")
_IELoadWait($oIE);
$oInput = _IEGetObjByName($oIE,"pass")
_IEFormElementSetValue($oInput,"0815")
anbei noch der Quelltext den ich mit _IEDocReadHTML erhalte
Spoiler anzeigen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Konfigurationsprogramm</title>
<script type="text/javascript">
<!--
function titel(){
document.title = top.frames[0].prodname + " Konfigurationsprogramm";
}
var sechinw = true;
// Prüfung ob Fenster geschlossen werden kann
var http = false;
function ajaxInit()
{
try {
http = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
http = new ActiveXObject("Microsoft.XMLHTTP");
} catch(yae) {
http = false;
}
}
if (!http && typeof XMLHttpRequest != 'undefined')
{
http = new XMLHttpRequest();
}
}
var g_hidewarn = false;
function sicherheitseinstellung(){
if (g_hidewarn == true)
return;
ajaxInit();
if (http)
{
http.open('GET',"/cgi-bin/webcm?getpage=../html/query.txt&var:cnt=2&var:n0=wlan:settings/ap_enabled&var:n1=wlan:settings/encryption",false);
http.send(null);
try
{
if (http.readyState==4 && http.status==200)
{
var resp = http.responseText;
if (resp)
{
var part = resp.split(String.fromCharCode(10));
if (part.length>1)
{
if (sechinw == true && part[0]=="1" && part[1]=="0")
window.event.returnValue =
"_______________________________________________________________________" +
"\n" +
"\n Sie haben die Einstellung im Bereich:" +
"\n > Sicherheit / Verschlüsselung" +
"\n nicht aktiviert. Wir empfehlen Ihnen zu Ihrer eigenen Sicherheit, diese Funktionalität einzuschalten." +
"\n" +
"\n Möchten Sie die Konfiguration wirklich Beenden, ohne die Verschlüsselung einzuschalten?" +
"\n" +
"_______________________________________________________________________\n";
}
}
}
}
catch(e)
{
}
}
}
//-->
</script>
</head>
<frameset rows="49,*" border="0" frameborder="0" framespacing="0" onload="titel()" onbeforeunload="sicherheitseinstellung()">
<frame src="/html/b_banner.htm" name="banner" scrolling=no noresize>
<frameset cols="170,*" border=0 frameborder=0 framespacing=0>
<frame src="/html/m_start_passwort.htm" name="menu">
<frame src="/cgi-bin/webcm?getpage=../html/hcti_startseite.htm" name="hcti">
</frameset>
<noframes>
<body >
<p>Für diese Seite muss ihr Browser Frames darstellen können!</p>
</body>
</noframes>
</frameset>
</html>
und der Frame in dem sich das Input feld id=pass befindet
Spoiler anzeigen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Startseite</TITLE>
<script type="text/javascript" src="/html/js_menu.js"></script>
<script type="text/javascript" src="/html/js_info.js"></script>
<SCRIPT type="text/javascript">
<!--
if (top.frames[0])
top.frames[0].dirty = true;
var verz = 1;
function chk()
{
top.frames[1].location.href = "/html/m_start_passwort.htm";
infothema = "iStartPasswort";
initInfo("verwaltung");
if (top.frames[0].reboot_reason && top.frames[0].reboot_reason!='')
{
alert(top.frames[0].reboot_reason);
top.frames[0].reboot_reason='';
}
var date = new Date();
document.getElementById("PostTime").value= Math.floor(date.getTime()/1000) + "," + date.getTimezoneOffset();
document.PWD.pass.focus();
document.getElementById("verz").value = 2*verz;
}
function stReload()
{
document.location.href="/cgi-bin/webcm?getpage=../html/login.html";
}
function stVerg()
{
document.location.href="/html/vergessen.html";
}
function stOk(){
if (checkEmpty())
document.PWD.submit();
}
function checkEmpty(){
if (document.getElementById('pass').value == "") {
alert("Bitte geben Sie das Gerätepasswort ein!");
document.getElementById('pass').focus();
return false;
}
return true;
}
function stBak(){
document.PWD.pass.disabled = false;
document.PWD.pass.style.backgroundColor="#FFFFFF";
document.PWD.pass.value = "";
document.PWD.pass.focus();
}
function stEnd(){
document.location.href = "/cgi-bin/webcm?getpage=../html/hcti_beenden.htm";
}
//-->
</SCRIPT>
<LINK rel="stylesheet" href="/html/style_nw.css" type="text/css">
<STYLE type="text/css">
#um0 {top: 140px; visibility: hidden}
</STYLE>
</HEAD>
<BODY onload="chk()">
<DIV id=frameEingabe>
<DIV id=border>
<DIV id=pfad>Speedport W 701V - Einstieg in die Konfiguration</DIV>
<DIV class=lineThW></DIV>
<DIV class=titel><DIV class=colVoll>Gerätepasswort Eingabe</DIV></DIV>
<form name="PWD" method="POST" action="/cgi-bin/webcm" onsubmit="return checkEmpty();">
<DIV class=rowStd>
<DIV class=colLast>
<input type="hidden" name="getpage" value="../html/hcti_startseite.htm">
<input type="hidden" name="var:verz" id="verz">
<input type="hidden" name="time:settings/time" id="PostTime">
<input type="password" class="stylepwd" name="login:command/password" size="12" maxlength="12" id=pass>
</DIV>
<DIV class=colAbst></DIV>
<DIV class=colLast>('0000' bei Auslieferung)</DIV>
</DIV>
</form>
<DIV class=rowLeer></DIV>
<DIV class=lineThW></DIV>
<DIV class=rowLeer></DIV>
</DIV>
<DIV id=um0>
<DIV class=rowText>Hinweis:<br>
Die Wartezeit bis zur erneuten Eingabe verdoppelt sich<br>
nach jeder Falscheingabe.<br>
Dies erschwert den unbefugten Zugang zu Ihrem Router.
</DIV>
<DIV class=rowLeer></DIV>
<DIV class=lineThW></DIV>
<DIV class=rowLeer></DIV>
</DIV>
</DIV>
<DIV id=frameBut>
<DIV id=but1 onclick="stEnd()" onmouseover="rahmen(1,1)" onmouseout="rahmen(0,1)">Beenden <<</DIV>
<DIV id=but2 onclick="stVerg()" onmouseover="rahmen(1,2)" onmouseout="rahmen(0,2)">Vergessen <<</DIV>
<DIV id=but4 onclick="stOk()" onmouseover="rahmen(1,4)" onmouseout="rahmen(0,4)">>> OK</DIV>
</DIV>
<DIV id=frameInfo></DIV>
</BODY>
</HTML>