mark-o
Goto Top

PopUp-Fenster mit Login per VBS bedienen

Hallo,

mit nachfolgendem Script lese ich Werte meines Routers übers HTML-Webinterface per IE aus, was grundsätzlich schon gut funktioniert:

url = "http://192.168.199.199/Test.htm"

dat = int_dat(url)
For i = 0 To Ubound(dat)
If 0 < InStr(dat(i), "Disconnect right") Then
m = len("</TD>") : n = InStr(dat(i+9), "</TR>")
MyE = mid(dat(i+9), m, n-m)
WScript.Echo "Wert: " & MyE
Exit For
End If
Next


Function int_dat(ByVal url)
Set IE = WScript.CreateObject("InternetExplorer.Application")
IE.Visible = 1
On Error Resume Next
IE.Navigate url
do while IE.ReadyState <> 4
loop
Set IEDoc = IE.Document
int_dat = Split(IEDoc.body.innerHTML, vbLf)
Set IEDoc = nothing
End Function

Mein Problem ist, dass nach dem Laden der Browserseite ein PopUp-Fenster erscheint, in welchem ich Login und Passwort eingeben muss. Diese Eingabe würde ich gerne in das Script einbauen, aber ich habe keinen blassen Schimmer....
Obiges Scpript funtkioniert bestens ganz autark, wenn ich ein Mal das Login manuell vollzogen habe das Script danach (bei mind. einer offenen IE-Insanz) ausführe. Dann wird das Passwort nicht mehr abgefragt. Diese Eingabe gilt es zu umgehen.

Die Eingabe erfolgt also nicht in dem gestarteten Browserfenster (á la GMX oder Administrator.de), sondern in einer Input-Box oder so. Router ist ein D-Link DI-524.
Weiß jemand, wie man das per VBS hinbekommen würde?


Danke und Gruß
Mark-O

Content-Key: 75312

Url: https://administrator.de/contentid/75312

Printed on: April 19, 2024 at 11:04 o'clock

Member: Mark-O
Mark-O Dec 06, 2007 at 09:59:18 (UTC)
Goto Top
Hallo,

habe es inzwischen rausbekommen, für die, die es interessiert:

Das PopUp-Fenster hat den Titel "Connect to 192.168.299.199", das Fenster wird aktiviert und die Werte per sendkeys reingeschoben.
Der untere Teil des Scripts muss um vier Zeilen ergänzt werden ("user" ist hier Login und Passwort), dann funktioniert das ganze:

Function int_dat(ByVal url)
Set IE = WScript.CreateObject("InternetExplorer.Application")
IE.Visible = 1
On Error Resume Next
IE.Navigate url


set ws = CreateObject("Wscript.shell")
ws.AppActivate "Connect to 192.168.199.199"
Wscript.Sleep 800
ws.sendkeys("user{Tab}user{ENTER}")


do while IE.ReadyState <> 4
loop
Set IEDoc = IE.Document
int_dat = Split(IEDoc.body.innerHTML, vbLf)
Set IEDoc = nothing
End Function

Gruß
Mark