Hallo, ich bin noch blutiger Anfänger, aber voll begeistert, was man seit Einführung von <_IE.au3> speziell mit dem IE anstellen kann. =)
Mein Router (Gigaset Wireless Router 54 MBit/s) wird (wahrscheinlich wie andere) vom Browser aus bedient, also auch das Verbinden mit dem Internet. Nach dem Aufrufen der Routerhomepage findet zuerst das Login statt, was ich schon automatisieren konnte . Danach erscheint die Setup-Seite, auf der man dann auf den Button "verbinden" bzw. auf "trennen" klickt.
(Anm.derzeit noch angeklickt über TAB und Enter ... :baby: )
Ich möchte aber versuchen, diese Butons über die _IE-funktionen anzusteuern, aber im Quelltext findet man Javascript, die ich nicht mit den in der Hilfe und im Board gefundenen Mitteln bedienen kann.
Mein derzeitiger autoIt-script ist:
[autoit]#include <IE.au3>
$oIE = _IECreate ("http://192.168.2.1/login_de.htm", 0, 1, 1, 0)
_IELoadWait($oIE)
$oForm = _IEFormGetObjByName($oIE, "tF")
$oUsername = _IEFormElementGetObjByName($oForm, "pws")
_IEFormElementSetValue($oUsername, "xxxxx")
$oSub = _IEGetObjByName ($oIE, "login")
_IEAction ($oSub, "click")
Sleep("333")
_IELoadWait ($oIE)
Send("{F6}")
Sleep ("200")
Send("{F6}")
Sleep ("200")
Send("{F6}")
Sleep ("200")
Send("{TAB 4}")
Send("{Enter}")
Die nach _IEAction ($oSub, "click") aufgerufenen Page beinhaltet dann einen hervorgehobenen Button "verbinden" und einen inaktiven Button "trennen". Der Quelltext der Fläche auf denen die beiden zu sehen ist:
Spoiler anzeigen
<html>
<head>
<title>Setup</title>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="Maximilian Schoefmann" name=author>
<STYLE language="CSS 2.0" type=text/css>BODY { BACKGROUND-COLOR: #31699c
}
.big_a {
FONT-SIZE: 15pt; COLOR: #ffffff; FONT-FAMILY: 'arial', 'helvetica', 'verdana'}
</style>
<script language="JavaScript" src="./cancel.js"></script>
<script language="JavaScript">
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;
var timeout=12;
if (timeout>0)
setTimeout('location.href="set_status.htm";',1*1000*timeout);
function pppoeSend(type)
{
if(type=='1') //connect
{
document.pppoe_form.action.value="Connect";
}
else //if(type=='2') //disconnect
{
document.pppoe_form.action.value="Disconnect";
}
//if(('pppoe' == 'pppoe' && '2' == '0') ('pppoe' == 'pptp' && '2' == '0') ||('pppoe' == 'dhcp') ('pppoe' == 'static'))
// return false;
document.pppoe_form.submit();
}
function initbutton()
{
BrowserInfo();
var wan_proto='pppoe';
var pppoe_mode='2';
var pptp_mode='2';
if((wan_proto == 'pppoe' && (pppoe_mode == '1' pppoe_mode == '2')) (wan_proto == 'pptp' && (pptp_mode == '1' pptp_mode == '2')))
{
if(ie4 ns6)
{
if('router.gif'=='router.gif')
{
document.globe.Con.disabled = false;
document.globe.DisCon.disabled = true;
}
else
{
document.globe.Con.disabled = true;
document.globe.DisCon.disabled = false;
}
}
}
}
</script>
</head>
<script>
if("ppp0" != "")
{
document.writeln('<BODY onload="initbutton()">');
}
else
{
document.writeln('<BODY>');
}
</script>
<FORM name=globe action=Setup.htm method=post target="_top">
<input type=hidden name=webpage value=de/Setup.htm>
<input type=hidden name="action" value="Apply">
<input type="hidden" value="index_language" name="page">
<input type="hidden" value="Language" name="Load">
<input type="hidden" value="0" name="Language">
<input type="hidden" value="0" name="LangPak">
<input type="hidden" name="CheckLanguage">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" background="../images/bg_siemens.jpg">
<tr>
<td align="right" valign="top"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#6699cc">
<tr>
<td align="right" valign="top"><table width="100%" height="330" border="0" cellpadding="0" cellspacing="0" bgcolor="#6699cc">
<tr>
<td align="center" valign="middle">
<table width="100%" height="90%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="69" align="center" valign="middle"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">
<span class="big_a">Internet-Status:</span></font></td>
</tr>
<tr>
<td align="center"><img src="../images/router.gif" width="80" height="80"></td>
</tr>
<tr>
<td height="36" align="center">
<script>
if("ppp0" != "")
{
if('router.gif'=='router.gif')
{
document.write('<div align="center"><font face="Arial, Helvetica, sans-serif" color="#CCCCCC"><b>');
document.write('Nicht verbunden');
}
else
{
document.write('<div align="center"><font face="Arial, Helvetica, sans-serif" color="#66FF99"><b>');
document.write('Verbunden');
}
}
</script> </td>
</tr>
<tr>
<td height="31" align="center"> </td>
</tr>
<tr>
<script>
if(("ppp0" != "" )&& (("pppoe" == "pppoe" && ('2' == '1' '2' == '2') ) ("pppoe" == "pptp" && ('2' == '1' '2' == '2') )))
{
if(ie4 ||ns6)
{
document.writeln('<td align="center">');
document.writeln('<input type="button" name="Con" value="Verbinden" onClick="pppoeSend(1);">');
document.writeln(' ');
document.writeln('<input type="button" name="DisCon" value="Trennen" onClick="pppoeSend(2);"></td>');
}
else if(ns4)
{
if('router.gif'=='router.gif')
{
document.writeln('<td align="center">');
document.writeln('<input type="button" name="Con" value="Verbinden" onClick="pppoeSend(1);"></td>');
}
else
{
document.writeln('<td align="center">');
document.writeln('<input type="button" name="DisCon" value="Trennen" onClick="pppoeSend(2);"></td>');
}
}
}
else
{
document.writeln('<td align="center"> </td>');
}
</script>
</tr>
</table>
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></form>
<form id="pppoe_form" name="pppoe_form" method=get action=/pppoe.cgi target="_top">
<input type=hidden name="webpage" value="de/Setup.htm">
<input type="hidden" name="rc_restart" value="6">
<input type=hidden name="action" value="none">
</form>
</body>
</html>
Wie kann ich den "verbinden"-Button zum Verbinden bzw. zum Trennen den "trennen"-Button ansteuern. Oder muß man das noch ganz anders angehen?
:(Nebenfrage: Beim Aufrufen der Site entsteht eine quasi 3-geteilte Aufteilung (aber OHNE Frames). Der o.g. Quellcode ist von einem Abschnitt, den ich über die Adresse: "http://192.168.2.1/de/set_status.htm" aufrufen kann. Die anderen beiden Teile haben die Adresse "http://192.168.2.1/de/Setup.htm". Da ich kein HTML und auch sonst keine großen Sprachkenntnisse habe, wie geht das ohne frames? (Aber das wirklich nur so nebenbei..)
Vielen Dank und grüße
gaggi