c20082005
Goto Top

Powershell Einloggen Internetseite funktioniert nicht mehr

Hallo zusammen,

ich habe mich vor dem Neuaufsetzen des Rechners immer folgendermaßen bei einer Internetseite eingeloggt:

$ie = New-Object -com "InternetExplorer.Application"  
$ie.Navigate("https://huhu.de")  
$ie.visible = $true
...
$ie.Document.IHTMLDocument3_getElementById("uiViewUser").value = "user"  
$ie.Document.IHTMLDocument3_getElementById("uiPass").value=$Passwd  
$ie.Document.IHTMLDocument3_getElementById("uiSubmitLogin").Click();  

Jetzt funktioniert es nur noch mit

$ie.Document.getElementById("uiViewUser").value = "user"  
$ie.Document.getElementById("uiPass").value=$script:Passwd  
$ie.Document.getElementById("uiSubmitLogin").Click();  

Dei Internetseite hat sich nicht geändert.
Kann mir bitte jemand sagen, warum das nicht mehr mit IHTMLDocument3_getElementById funktioniert?

Gruß

Klaus

Content-ID: 373276

Url: https://administrator.de/forum/powershell-einloggen-internetseite-funktioniert-nicht-mehr-373276.html

Ausgedruckt am: 23.12.2024 um 02:12 Uhr

SeaStorm
SeaStorm 07.05.2018 um 16:38:17 Uhr
Goto Top
hast du evtl. office nicht (mehr) installiert? IMHO kommt das Object durch Office ins powershell
136037
136037 07.05.2018 aktualisiert um 18:09:26 Uhr
Goto Top
IHTMLDocument3
Ist ja auch Blödsinn hier eine Erweiterung zu verwenden, denn die Funktion wurde ja an sich nicht verändert.
Jetzt funktioniert es nur noch mit
Und das ist ja auch die korrekte Verwendung face-smile.
c20082005
c20082005 08.05.2018 aktualisiert um 08:31:58 Uhr
Goto Top
Danke für die Antworten.
Nein, Office habe ich vorher und jetzt nicht installiert.

Mit diesem Thema beschäftige ich mich schon seit n Monaten.
Um es kurz zu machen:
Mit dem Befehl "getElementById(" hatte ich sporadische Fehler, mit dem "IHTMLDocument3_getElementById(" nicht.

Was ich herausgefunden habe:
"IHTMLDocument3_getElementById(" funktioniert bei mir, wenn ich das Paket "Microsoft Visual Studio Express" installiert habe. Dann funktioniert auch das Auslesen der Seite mit
$Seiteninhalt=($ie.document.documentelement).innerText"  
ohne Probleme.
Siehe auch:
Powershell Internetexplorer steuern

Meine Frage ist: Von den 12GB(!), die man damit installiert, braucht man für das Ausführen der beiden Befehle wahrscheinlich nur einen Bruchteil.
Gibt es eine "schlankere" Methode, um die beiden Befehle auszuführen?
136037
136037 08.05.2018 aktualisiert um 09:35:46 Uhr
Goto Top
Gibt es eine "schlankere" Methode, um die beiden Befehle auszuführen?
Ja, direkt den Forumlarinhalt per POST oder GET Request an die Zielseite schicken face-wink.

Btw. Was du suchst ist die MSXML2 Bibliothek https://msdn.microsoft.com/de-de/library/cc507436(v=vs.85).aspx