Router mit Internet autom.verbinden

  • 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 8) . 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}")

    [/autoit]

    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">&nbsp;</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('&nbsp;&nbsp; ');
    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">&nbsp;</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

  • mit deinem problem kann ich mich hier gerade nicht beschäftigen, da ich auf dem PC hier kein autoit installiert hab, aber vielleicht solltest du dir einfach mal dieses tool hier anschauen!

    http://www.routercontrol.de/

    also ich denke mal du brauchst das dazu dir eine neue IP holen zu lassen! das tool funzt bei mir einwandfrei (w 501v) - das gute an dem tool ist, dass es routereigene cgi´s verwendet und es damit sehr schnell geht...

    wär doch ne überlegung wert wa ;)

    gruß oli

  • vielen Dank für den Tipp, der Routercontrol geht genau in diese Richtung. Jetzt wenn man das noch ggf. mit AutoIt fernsteuern könnte, wäre es perfekt.
    vielleicht gibt es jemanden, der das hinbringen könnte ? :D

    grüße gaggi

    PS Habs schon versucht, nur komme ich mit meinem grünschnabelwissen nicht weit :weinen:

  • ich würde aber dann nicht mit der weboberfläche arbeiten... versuch mal rauszufinden, was dein router für cgis nutzt - dann kannst du diese (falls vorhanden) mit bestimmten parametern aufrufen....

    greetz oli

  • ich bin leider ein völliger Anfänger, was sind cgis und wie könnte ich das Herausfinden, ob mein Router die nutzt?

    danke gaggi

  • dass du zb eingeben kannst (beispiel)

    192.168.2.1\router\login.php?user=admin&pw=123&login=true


    Und nicht so doof alles über IE.au3 klicken lassen musst :)

  • :baby: tut mir wirklich leid wenn ich nerve mit meiner Unkenntnis, .... geb ich das in ein autoit-Skript ein(schon probiert, aber natürlich ERROR: Unable to parse line... :( ) oder welche Befehle würden da dazugehören?

    :weinen: bitte nicht schimpfen......

  • Zitat

    Original von oliverh
    also ich denke mal du brauchst das dazu dir eine neue IP holen zu lassen! das tool funzt bei mir einwandfrei (w 501v) - das gute an dem tool ist, dass es routereigene cgi´s verwendet und es damit sehr schnell geht...

    gruß oli

    das hängt aber auch vom router ab - bei manchen dauert es mit dem tool gut 30 sekunden....

  • das Tool routercontrol funzt bei mir jetzt auch ganz gut und relativ schnell (jedenfalls wesentlich schneller als über den IE). Ich würd das halt gern per autoIt steuern, damit ich das entweder über shotcut's oder den Zusatztasten meiner Tastatur bewerkstelligen könnte!! :D
    Aber dann auch nicht mit Mausklick hier und da sondern richtig gesteuert. ;)
    servus gaggi

  • Zitat

    Original von AutoME39

    das hängt aber auch vom router ab - bei manchen dauert es mit dem tool gut 30 sekunden....

    über die oberfläche dauerts zb auch länger wie wenn ich das tool über parameter auf der console ausführe ;)

    Zitat

    Original von gaggi
    das Tool routercontrol funzt bei mir jetzt auch ganz gut und relativ schnell (jedenfalls wesentlich schneller als über den IE). Ich würd das halt gern per autoIt steuern, damit ich das entweder über shotcut's oder den Zusatztasten meiner Tastatur bewerkstelligen könnte!! großes Grinsen
    Aber dann auch nicht mit Mausklick hier und da sondern richtig gesteuert. Augenzwinkern
    servus gaggi

    über deine zusatztasten kannst du doch alles mögliche aufrufen?! schreib doch den programmaufruf mit parametern in autoit und leg die exe auf eine deiner zusatztasten (oder batch... wie auch immer)

  • Zitat

    Original von oliverh
    über deine zusatztasten kannst du doch alles mögliche aufrufen?! schreib doch den programmaufruf mit parametern in autoit und leg die exe auf eine deiner zusatztasten (oder batch... wie auch immer)

    das problem für mich ist nur, dass das tool (von mir gewünscht) mit Windows gestartet wird und schon in der Systry liegt. Es braucht zwar nur mit dem Kontextmenü der rechten Maustaste "..verbindung aufbauen" od. "..verbindung trennen" angeklickt werden, aber eben das möchte ich mit meinen Zusatztasten vollbringen!!!

    Jetzt müßte ich halt einen Tipp von den Kracks bekommen, wie man ein schon gestartetes Tool ohne große Fensteraufrufe steuern könnte:)

  • prozess abschießen -> über console mit parametern anstarten -> FERTIG -> programm schließt sich -> ohne parameter anstarten...

    aber warum alles so umständlich???

  • könnte man das in einem Beispielskript konkretisiern? Und wie würdest Du das machen wenn's zu umständlich ist?