Hallo an alle!
Ich bin leider eher ein Programmier-Novize, ... vielleicht könnt Ihr mir hier weiter helfen!
Danke im Voraus für Eure Hilfe!
Ich habe eine Lösung gebastelt bei meinem Router D-Link DGL 4100 per Internet Explorer die MAC-Adresse zu ändern.
Nur die Bestätigung der Reboot-Meldung macht mir Kopfzerbrechen.
Als UDF verwendet ich
[autoit]#include <IE.au3>
[/autoit]Nach dem Bestätigen von "Reboot the Device" erscheint ein POPUP-Fenster. Ich kann es einfach nicht erreichen um "OK" zu klicken!
Quellcode "Reboot the Device" bestätigen (funktioniert zu 100%
Spoiler anzeigen
;--------------Button "Reboot the Device" drücken -------------------------------------------
[/autoit] [autoit][/autoit] [autoit]$oForm = _IEFormGetCollection($oIE,0)
$oMAC_Address = _IEFormElementGetCollection($oForm,0)
$oSubmit = _IEFormElementGetCollection($oForm,1)
_IEFormElementSetValue($oMAC_Address,$MAC)
_IEAction($oSubmit,"click")
$oInputs = _IETagNameGetCollection ($oIE, "input")
For $oInput In $oInputs
If $oInput.value = "Reboot the Device" Then
_IEAction ($oInput, "click")
ExitLoop
EndIf
Next
;--------------------------------------------------------------
[Blockierte Grafik: http://s9.directupload.net/images/081104/temp/6hv5mr87.jpg]
Hier ein Auszug aus dem Quelltext von dieser HTML Seite:
Spoiler anzeigen
....
<table border="0" cellpadding="0" cellspacing="0" summary="">
<tr>
<td id="maincontent_container">
<div id="maincontent_1col">
<!-- === BEGIN MAINCONTENT === -->
<!--@UNIQUE:maincontent@-->
<div id="box_header">
<h1>Success</h1>
<p>
The new settings have been saved.
</p>
<p>
The router must be rebooted before the new settings will take
effect. You can reboot the router now using the button below, or
make other changes and then use the reboot button on the
Tools/System page.
</p>
<p>
<input type="button" class="button_submit" value="Reboot the Device" onclick="doReboot()" />
</p>
<p>
<input type="button" class="button_submit" value="Continue" onclick="location.replace('Basic_WAN.html')" />
</p>
</div>
<!--@ENDUNIQUE@-->
<!-- === END MAINCONTENT === -->
</div>
<!--@OPTIONAL:the_lpj_output.I18N_ENABLED and this_file ~= 'Reboot.html' and this_file ~= 'forbidden.html' and this_file ~= 'restore_helper.html' and this_file ~= 'ugood.html' and this_file ~= 'ubad.html'@--><!--@ENDOPTIONAL@-->
</td>
</tr>
</table>
....
Alles anzeigen
Ich denke das folgender HTML-Teil der Schlüssel zum Erfolg ist!
Folgende Versuche habe ich schon gestartet das POPUP weg zu klicken!
[autoit]_IELinkClickByText($oIE, "OK")
[/autoit]
oder
_IENavigate($ie,"java script:doReboot();")
[/autoit]
oder
$oclick = _IEGetObjById($oIE, "button")
_IEAction($oclick, "click")
$oclick.fireEvent("onclick")
oder
; ... trigger the popup
[/autoit][autoit][/autoit][autoit]If WinWait("[CLASS:#32770; TITLE:Windows Internet Explorer]", "", 10) Then
$hPopUp = WinGetHandle("[CLASS:#32770; TITLE:Windows Internet Explorer]")
WinActivate($hPopUp)
WinWaitActive($hPopUp)
ControlClick($hPopUp, "", "[CLASSNN:Button1]")
TrayTip("OK", "Clicked 'OK'", 5)
Else
TrayTip("Error!", "Window not found before timeout.", 5)
EndIf
Alles ohne Erfolg!
Ich habe keine Ahnung an welcher Stellschraube ich drehen muss!
Weiß vielleicht jemand Rat? Für jeden Lösungsvorschlag wäre ich dankbar!
Viele Grüße
Satchmo
PS: Die Scriptschnipsel habe ich aus diversen Threads aus dem Forum von https://autoit.de/www.autoitscript.com