Internet Login via Batch-Datei
Hallo zusammen
Ich bin ein bisschen mit Batch-Dateien am experimentieren (habe noch nicht viel Ahnung) und wäre froh wenn mir jemand eine Batch-Datei zusammenstellen kann, die folgende Dinge kann:
-Nachricht erscheint und warten auf Bestätigung mit OK
-Nach OK-Druck öffnet sich ein Link
-Die Batch-Datei loggt sich auf dieser Seite mit Benutzername und Passwort ein
-Mehrere Instruktions-Nachrichten zur Fortsetzung folgen
Ich bin inzwischen so weit gekommen:
msg * (Nachricht)
(dass der Link wartet auf OK-Druck weiss ich nicht wie schreiben)
start /w iexplore "(Link)"
(Login erfolgt => Weiss ich auch nicht wie schreiben :-D)
msg * (Nachricht)
msg * (Nachricht)
...
Antwort schreiben
Antwort 1 von son_quatsch vom 17.03.2021, 11:55 Options
Mit Batch geht das nicht, allenfalls mit VBS. Selbst dann ist es nahezu unmöglich, auf irgendeiner Internetseite irgendwo irgendwelche Sachen einzugeben.
Eine Hilfe wäre, wenn du uns jene Seite zeigst - dann ist das evt. anders lösbar (z.B. ohne direkten Aufruf der Startseite).
Antwort 2 von Solo vom 17.03.2021, 14:07 Options
Hi, ich habe vor jahren mal eine änliche Einlogg-Datei in VBS geschgrieben, siehe nachfolgend:
' ===============================================
' Automatisierter WEB-Zugang
' =================================================
' mit gleichzeitigem Start von IE, Virenscanner-McAfee und optionalen
' Start von WebWasher. - R.P. - 12.12.05
' =================================================
' Die Pfade zu den Programme sind entsprechend Ihrer Programm-Instal-
' lation in den Zeilen wsh.Run "..." anzupassen.
' --------------------------------------------------------------------
Option Explicit
Dim wsh, MeinIE, Wahl, Antwort1, Antwort
Set wsh = WScript.CreateObject("WScript.Shell")
Antwort = MsgBox("Soll - Virenscanner - gestartet werden?", vbYesNo + vbQuestion, " Abfrage")
if Antwort = vbNo Then
Ablauf()
else
' Unterdrückt Fehlerausgabe bei fehlenden Programmen
On Error Resume Next
'Pfad für "Virusscanner.exe" anpassen!
wsh.Run "C:\Programme\McAfee.com\Vso\mcvsshld.exe /notify"
Wscript.sleep 27000
Ablauf()
End if
function Ablauf ()
'Ende der Fehlerunterdrückung
On Error Goto 0
Wahl = Inputbox _
("- Automatisches Internet Login -" & vbCrLf & vbCrLf _
& "Bitte, geben Sie eine WEB-Adresse Ihrer Wahl ein!" & vbCrLf & vbCrLf _
& "Beispiel: www.web.de" & vbTab & "( ohne http:// )" & vbCrLf & vbCrLf _
, " WEB-Login" & Space(38) & "Autor: R. Pristel", "freemail.web.de")
If Wahl <> "" Then
' Scripting zum Öffnen des IE
Dim READYSTATE_COMPLETE
' Bedingung zum Öffnen des IE
READYSTATE_COMPLETE = 4
' IE öffnen
Set MeinIE = WScript.CreateObject("InternetExplorer.Application")
' Warten bis IE bereit ist
Do While MeinIE.Busy
Loop
MeinIE.Visible = 1 ' IE-Browser im Vollbild (1) öffnen
MeinIE.Navigate "http://" & Wahl ' WEB-Seite öffnen
Do While MeinIE.ReadyState <> 4 ' Warten bis Seite geladen ist
Loop
else
Msgbox "Abbruch wegen fehlender WEB-Adresse oder durch Benutzer!", vbExclamation, " Programm wurde abgebrochen !"
WScript.Quit()
End If
Antwort1 = MsgBox("Soll - WebWasher - gestartet werden?", vbYesNo + vbQuestion, " Abfrage")
if Antwort1 = vbYes Then
' Unterdrückt Fehlerausgabe bei fehlenden Programmen
On Error Resume Next
'Pfad für "WebWasher.exe" anpassen!
wsh.Run "C:\Programme\WebWasher\wwasher.exe"
'Ende der Fehlerunterdrückung
On Error Goto 0
else
WScript.Quit()
End if
End function
' Script beenden
Weiss nicht, ob du damit was anfangen kannst.
Antwort 3 von Solo vom 17.03.2021, 14:14 Options
Nachtrag:
Das Script in Notepad einfügen und als WEBlogin.vbs abspeichern.
Antwort 4 von amazZzing vom 17.03.2021, 19:25 Options
Also erst mal vielen Dank für die Antworten. Doch ich suche eine Ausführungs-Datei die ich einem Freund schicken will. Die Datei soll den Internet Explorer öffnen und sich dann bei www.mydrive.ch/de einloggen. Nebenbei sollen Nachrichten anzeigen, wie er ein Word-Dokument herunterladen muss, das auf mydrive steht.
Antwort 5 von son_quatsch vom 18.03.2021, 08:28 OptionsLösung
Start -> Programme -> Zubehör -> Editor -> folgenden Text einfügen...
MsgBox "Anweisungstext 1"
' MSIE erzeugen
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")
' warten, bis er sich ausgekäst hat mit starten
While IE.Busy
Wend
' wir müssen ihn explizit sichtbar schalten
IE.Visible = 1
' Seite aufrufen und warten, bis sie vollständig geladen ist
IE.Navigate "http://www.mydrive.ch/de"
While IE.ReadyState <> 4
Wend
Dim e
Dim i1
' alle name="user" -Elemente finden (keine IDs vorhanden) und Wert setzen
Set e = IE.Document.getElementsByName("username")
For i1 = 0 To e.length - 1
e(i1).value = "du_der_benutzer"
Next
' dasselbe nochmal fürs Passwort
Set e = IE.Document.getElementsByName("password")
For i1 = 0 To e.length - 1
e(i1).value = "dein_passwort"
Next
' die einzige <FORM> finden
Set e = IE.Document.getElementsByTagName("form")
e(0).submit
MsgBox "Anweisungstext 2"
MsgBox "Anweisungstext 3 ..."
...und als
name.vbs abspeichern. Was du anpassen müsstest wären natürlich die Anweisungstexte, sowie
du_der_benutzer und
dein_passwort.
Zitat:
Doch ich suche eine Ausführungs-Datei
Diese Datei ist
ausführbar. Einfach doppelklicken zum selbstausprobieren.
Antwort 6 von Solo vom 18.03.2021, 11:25 Options
Hier noch ein weiteres Beispiel, was bei mir funktioniert:
' ====================================================
' File: Autologin.vbs (WSH-Beispiel in VBScript)
' Autor: R. P. - http://home.arcor.de/ra.pri
'
' Zweck: Stellt eine Verbindung zum Internet her und
' führt eine automatische Anmeldung
' auf der WEB-Seite WEB.DE durch, zeigt eine
' Downloadanweisung und beginnt nach Bestädigung
' den Download.
'
' ====================================================
Option Explicit
'*****************************************************
' Achtung: Nachfolgend müssen der eigene Benutzername
' sowie das Kennwort eingetragen werden.
' Es besteht dadurch die Gefahr, dass diese
' ausgespäht werden können.
'*****************************************************
Const UserName = "XXXXX" ' Benutzername
Const Pword = "YYYYY" ' Passwort/Kennwort im Klartext
'*****************************************************
Const sTitle = "Login"
Dim oDoc, oIE, i
If MsgBox ("Benutzer '" & UserName & "' an WEB.DE-Postfach anmelden?", _
vbYesNo + vbQuestion, sTitle) = vbNo Then _
WScript.Quit ' Benutzerabbruch
Set oIE = WScript.CreateObject("InternetExplorer.Application") ' IE starten
oIE.Visible = True
oIE.Navigate "www.web.de" ' WEB.DE Startseite aufrufen
Do
Loop Until oIE.ReadyState = 4 ' warten, bis Seite geladen
' Jetzt Anmeldedaten in Postfach-Felder eintragen und anmelden
Set oDoc = oIE.Document ' Hole Objektreferenz auf HTML-Seite
oDoc.FM.username.Value = UserName ' Setze Benutzername
oDoc.FM.password.Value = Pword ' Setze Kennwort
oDoc.FM.submit ' Formular abschicken
' Fenster mit Hilfetext
MsgBox "Hier steht der Hilfetext" + vbCr + _
"Bitte geben Sie hier den Hilfetext ein", _
vbOkOnly + vbInformation, "Anweisung"
' Downloadabfrage
If MsgBox ("Soll mit dem Download begonnen werden?", _
vbYesNo + vbQuestion, "Dowloadbestädigung") = vbYes Then
oIE.Navigate _
"http://home.arcor.de/ra.pri/download/weblogin.exe" 'Hier richtige URL für Download-Datei eintragen !!!
End If
' Ende
.. als
login.vbs abspeichern und die kommentierten Stellen entsprechend anpassen. Mir einen Klick auf die Datei, wird dieses gestartet.
Antwort 7 von amazZzing vom 18.03.2021, 13:19 Options
Danke vielmals für die Antworten! Mein Problem ist gelöst (endlich :-D).
Werde dies entsprechend meinem Freund weiter senden...
Antwort 8 von deny vom 30.03.2021, 15:46 Options
Hallo zusammen,
hab hier ein Webinterface (Netzwerkfähige Stromleiste) mit Anmeldung.
Er soll nach dem Start von name.vbs den IE öffnen und den Login automatisch durchführen.
(Benutzername brauch ich nicht, es gibt NUR ein Kennwort-Feld)
Habe folgenden Code bei name.vbs:
---------------------------------------------------------------------------------------------
MsgBox "Anweisungstext 1"
' MSIE erzeugen
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")
' warten, bis er sich ausgekäst hat mit starten
While IE.Busy
Wend
' wir müssen ihn explizit sichtbar schalten
IE.Visible = 1
' Startseite vom Webinterface aufrufen und warten bis geladen ist
IE.Navigate "http://o1582"
While IE.ReadyState <> 4
Wend
Dim e
Dim i1
' alle name="P" -Elemente finden und Wert setzen
Set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next
' die einzige <FORM> finden
Set e = IE.Document.getElementsByTagName("log method")
e(0).submit
MsgBox "Anweisungstext 2"
MsgBox "Anweisungstext 3 ..."
---------------------------------------------------------------------------------------------
Hier der html Code des Webinterface zur Anmeldung:
<html><head><link href="_np.css" rel="stylesheet" type="text/css"></head><body background="_bg.gif" onload="rel();"><table border=0 width="148"><tr><td class=pgHdr>Login</td><td align="right" style=font-size:7pt;><a href="mobile.cgi" target="_blank">Mobile Control</a></tr></table><table border=0 width=148 class=menu2><tr><td>Nutzer : <b>Gast</b><br></td><tr><td><font color=teal><b>Passwort:</b></font></td></tr><tr><td align=center><form name=log method=GET action="_LOGIN.CGI" onsubmit="v.value=hex_sha1(P.value+r.value);P.value=''" style="line-height:0; margin-top:0; margin-bottom:0;"><input type="hidden" name="r" value="EA"><input type="hidden" name="n" value="Gast"><input type=password size=8 maxlength=8 name="P"><input type="hidden" name="v"> <input type=submit value=Login name="w" disabled></form></tr><tr><td height="22" align="center"><span style=font-size:7pt;> Ausloggen: Login ohne Passwort.</span></td></tr></table></body><script type="text/javascript" src="_sha1.js"></script><script type="text/javascript">document.log.w.disabled=false;</script></html>
Er öffnet den IE mit der Startseite des Webinterface, aber:
Zeile: 36
Zeichen: 1
Fehler: Objekt erforderlich: "[object]"
Code: 800A01A8
Quelle: Laufzeitfehler in Microsoft VBScript
Warum loggt er sich nicht automatisch ein?
Bitte um Hilfe, bin Neuling oO
mfg
deny
Antwort 9 von son_quatsch vom 30.03.2021, 15:58 Options
Warum das nicht automatisch klappt? Na weil ein Fehler aufgetreten ist.
Set e = IE.Document.getElementsByTagName("log method")
muss
Set e = IE.Document.getElementsByTagName("log")
sein.
Wo genau ist denn bei dir Zeile 36?
Antwort 10 von rockbox vom 30.03.2021, 19:45 Options
hallo!
ich habe eine frage-hoffentlich kann mir jmd helfen!!!!!!!
also ich versuche es an einem beispiel zu formulieren:
ich spiele das browsergame "*Z*game.de" -nicht ernsthaft aber es ist ja nur ein beispiel...
also ich möchte eine bat oder vbs datei erstellen, die man ausführen muss...... . damit soll sich am besten mozilla firefox öffnen, das browsergame "*Z*game" auch und man wird automatisch eingeloggt. anschließend sollen mehrere buttons im spiel "gedrückt" werden, sodass ich in dem spiel weiterkomme. (man kann dann ja im editor ändern, welcher button aktiviert werden soll....)
funktioniert so etwas überhaupt?
kann so ein Vorgang auch "im Hintergrund" ablaufen?
da ich ein Anfänger bin wäre es nett, wenn mir jmd helfen könnte und es in einem beispiel, soweit realisierbar, zeigen....(die sachen die ich dann ändern muss bitte unterstreichen, damit keine Missverständnisse entstehen......
mfg und danke schon mal im Voraus! ;-)
Antwort 11 von deny vom 31.03.2021, 07:19 Options
Zeile 36 sieht folgendermaßen aus:
e(0).submit
Fehler: Objekt erforderlich: '[object]'
Code: 800A01A8
Quelle: Laufzeitfehler in Microsoft VBScript
obwohl ich den Code abgeändert hab und der jetzt so ausschaut:
MsgBox "Anweisungstext 1"
' MSIE erzeugen
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")
' warten, bis er sich ausgekäst hat mit starten
While IE.Busy
Wend
' wir müssen ihn explizit sichtbar schalten
IE.Visible = 1
' Seite aufrufen und warten, bis sie vollständig geladen ist
IE.Navigate "http://o1582"
While IE.ReadyState <> 4
Wend
Dim e
Dim i1
' alle name="user" -Elemente finden (keine IDs vorhanden) und Wert setzen
' Set e = IE.Document.getElementsByName("username")
' For i1 = 0 To e.length - 1
' e(i1).value = "du_der_benutzer"
' Next
' dasselbe nochmal fürs Passwort
Set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next
' die einzige <FORM> finden
Set e = IE.Document.getElementsByTagName("log")
e(0).submit
MsgBox "Anweisungstext 2"
MsgBox "Anweisungstext 3 ..."
---------------------------------------------------------------------------------------------
Stimmt das "P" an der Stelle, wo er sich das Element holt?
(siehe html-Code oben)
mfg deny
Antwort 12 von son_quatsch vom 31.03.2021, 08:22 Options
@deny
Set e = IE.Document.getElementsByTagName("form")
muss es natürlich heißen. Wer ist denn überhaupt auf die Idee gekommen, das je von meinem ursprünglichen Post zu ändern?!?
@rockbox
Nein - das ist ausschließlich mit dem MSIE machbar. Und Beispiele hast du hier genug - eine Komplettlösung für mehrere sich wiederholende Aufgaben gebe ich nicht.
Antwort 13 von deny vom 31.03.2021, 09:44 Options
Hab den Code nochmal vereinfacht:
---------------------------------------------------------------------------------------------
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")
while IE.Busy
Wend
IE.Visible = 1
IE.Navigate "o1582"
while IE.ReadyState <> 4
Wend
Dim e
Dim i1
set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next
Set e = IE.Document.getElementsByTagName("form")
e(0).submit
---------------------------------------------------------------------------------------------
Er meckert jetzt bei Zeile 22 (e(0).submit)
Objekt erforderlich '[object]'
Hinter dem Login button steckt ein _LOGIN.CGI, siehe htmlCode:
<html><head><link href="_np.css" rel="stylesheet" type="text/css"></head><body background="_bg.gif" onload="rel();"><table border=0 width="148"><tr><td class=pgHdr>Login</td><td align="right" style=font-size:7pt;><a href="mobile.cgi" target="_blank">Mobile Control</a></tr></table><table border=0 width=148 class=menu2><tr><td>Nutzer : <b>Gast</b><br></td><tr><td><font color=teal><b>Passwort:</b></font></td></tr><tr><td align=center><form name=log method=GET action="_LOGIN.CGI" onsubmit="v.value=hex_sha1(P.value+r.value);P.value=''" style="line-height:0; margin-top:0; margin-bottom:0;"><input type="hidden" name="r" value="DM"><input type="hidden" name="n" value="Gast"><input type=password size=8 maxlength=8 name="P"><input type="hidden" name="v"> <input type=submit value=Login name="w" disabled></form></tr><tr><td height="22" align="center"><span style=font-size:7pt;> Ausloggen: Login ohne Passwort.</span></td></tr></table></body><script type="text/javascript" src="_sha1.js"></script><script type="text/javascript">document.log.w.disabled=false;</script></html>
mfg deny
Antwort 14 von son_quatsch vom 31.03.2021, 10:41 Options
Kann ich nicht nachvollziehen (bei mir klappt es). Benutze MSIE6 unter WinXP. Lass die entsprechende Zeile weg und sag, ob er wenigstens das Passwort füllt - und ob es klappen würde, wenn du selbst auf den Button klickst.
Antwort 15 von deny vom 31.03.2021, 10:56 Options
Die Zeile
e(0).submit
ist draußen, jetzt meckert er nicht mehr, jedoch trägt
er mir das Kennwort nicht automatisch ein und startet auch
keinen Versuch zu senden (Login-Button)
Nach manueller Eingabe vom PW und nach Klicken auf Login
meldet er sich korrekt an!
IE6 XP
mfg
deny
Antwort 16 von son_quatsch vom 31.03.2021, 11:01 Options
Dann stimmt schon vorher etwas nicht - bei mir trägt er ja das Passwort ein. Das hier sieht mir auch sehr verdächtig aus:
IE.Navigate "o1582"
Ruf die Seite "normal" auf und kopier aus der Adressleiste
exakt das, was dann drin steht und trag das stattdessen hier ein. Das muss mindestens mit Protokoll sein, also mindestens
http://o1582. Aber auch hier frag ich mich: bleibt das wirklich so stehen?
Antwort 17 von deny vom 31.03.2021, 11:08 Options
o1582 ist die Namensauflösung der Netzwerkfähigen Steckdosenleiste.
Habs mal geändert:
---------------------------------------------------------------------------------------------
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")
while IE.Busy
Wend
IE.Visible = 1
IE.Navigate "http://10.2.15.82/"
while IE.ReadyState <> 4
Wend
Dim e
Dim i1
set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next
Set e = IE.Document.getElementsByTagName("form")
---------------------------------------------------------------------------------------------
Er ruft die Seite korrekt auf trägt jedoch kein Kennwort ein und Login't nicht automatisch.
Vielen Dank für Deine schnellen Antworten...
mfg
deny
Antwort 18 von son_quatsch vom 31.03.2021, 11:37 Options
Tausche zu Testzwecken (also am besten eine Kopie der Datei erstellen) diese Zeile
set e = IE.Document.getElementsByName("P")
gegen folgende:
set e = IE.Document.getElementsByName("P")
MsgBox e.length
set e = IE.Document.getElementsByName("p")
MsgBox e.length
set e = IE.Document.getElementsByName("FORM")
MsgBox e.length
set e = IE.Document.getElementsByName("form")
MsgBox e.length
und sag mir die Ausgaben. Ferner kann es auch an Sicherheitseinstellungen liegen, die bei dir restriktiver sind als bei mir (z.B. Sicherheit -> Stufe anpassen -> Binär- und Skriptverhalten -> aktivieren) - aber spätestens hier gibt es zuviele Konstellationen, die wir unmöglich vergleichen können. Das wird zu aufwendig und du müsstest auf eigenen Fleiß hin dir all deine Einstellungen aufschreiben (um sie später wieder herstellen zu können) und dann jeweils immer alles erlauben oder so wenig restriktiv wie möglich stellen...
Antwort 19 von deny vom 31.03.2021, 12:15 Options
set e = IE.Document.getElementsByName("P")
MsgBox e.length
Ausgabe: 0
---------------------------------------------------------------------------------------------
set e = IE.Document.getElementsByName("p")
MsgBox e.length
Ausgabe: 0
---------------------------------------------------------------------------------------------
set e = IE.Document.getElementsByName("FORM")
MsgBox e.length
Ausgabe: 0
---------------------------------------------------------------------------------------------
set e = IE.Document.getElementsByName("form")
MsgBox e.length
Ausgabe: 0
---------------------------------------------------------------------------------------------
Liegt es daran, dass durch Klick auf Login ein CGI-Skript ausgeführt wird und er dadurch nicht weiterkommt?
mfg
deny
Antwort 20 von son_quatsch vom 31.03.2021, 12:31 Options
Neihein. Fakt ist: das Skript findet gar nichts innerhalb der aufgerufenen Seite. Da du die aufgebaute Seite allerdings sieht, wird sie definitiv geladen. Bleibt nur noch meine Vermutung nach zu starken Sicherheitseinstellungen.