Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell - Fehler bei der Auswahl eines Feldes im IE

Mitglied: Connor1980

Connor1980 (Level 2) - Jetzt verbinden

14.08.2010 um 18:54 Uhr, 6845 Aufrufe, 4 Kommentare

Ich hatte vor einem halben Jahr schonmal angefangen den in der c't 4/10 abgedruckten Artikel "Autopiloten fürs Web" durchzuarbeiten.
Ziel war es per PS meine e-Plus Rechnungen automatisiert herunterzuladen.

Nun habe ich damals aber bei einem Fehler aufgehört und mich nu wieder drangegeben, komme aber nicht weiter.

Als Unterbau dienten mir ein Win7Ult x64 sowie Win7Pro x86.

Das Script sieht wie folgt aus:
--- Snipp ---
01.
#ruft den IE auf 
02.
$ie=New-Object -comobject InternetExplorer.Application  
03.
#true macht den IE sichtbar 
04.
$ie.visible=$true  
05.
#Aufruf der Login Seite 
06.
$ie.Navigate("https://www.eplus.de/login/login.asp") 
07.
#WarteZeit, damit der IE Zeit zum starten hat 
08.
while($ie.busy){Start-Sleep 10} 
09.
 #Eingabefeld für den Benutzernamen befüllen 
10.
$ie.Document.getElementById("IDToken10L").value="BENUTZERNAME" 
11.
#Eingabefeld für das Passwort befüllen 
12.
$ie.Document.getElementById("IDToken20L").value="PASSWORT" 
13.
$ie.document.getElementsByTagName("img") | foreach{ 
14.
    if($_.alt -eq "Jetzt anmelden"){ 
15.
        $_.Click() 
16.
17.
}
--- Snapp ---
den folgenden Rest habe ich jetzt erstMal weggelassen ...

Nun bleibe ich nämlich dummerweise immer an den Zeilen zur Benutzernamen und Passwort Eingabe hängen. Ich kann
getElementById("IDToken10L")
oder
getElementByName("IDToken1")
verwenden, als Anwtwort bekomme ich immer

01.
Die value-Eigenschaft wurde in diesem Objekt nicht gefunden. Stellen Sie sicher, dass sie vorhanden ist und festgelegt werden kann. 
02.
Bei Zeile:1 Zeichen:43 
03.
+ $ie.Document.getElementById("IDToken10L"). <<<< value="BENUTZERNAME" 
04.
    + CategoryInfo          : InvalidOperation: (value:String) [], RuntimeException 
05.
    + FullyQualifiedErrorId : PropertyNotFound
bzw. bei Verwendung von
getElementByName("IDToken1")
natürlich
+ $ie.Document.getElementByName("IDToken1"). <<<< value="BENUTZERNAME" 
Es sit hierbei egal ob ich das script in der ISE ausführen lasse oder an der Befehlseingabe reinkopiere.

Nun gibt es ein Script von jemand anderem, gepostet auf im heise-Bereich dazu, angepasst für e-plus, allerdings bringt mich weder dessen Lektüre auch nicht weiter, beim Start von meinem System bleibe ich mit dessen Script and er gleichen Stelle hängen.
Google hilft mir leider auch nicht weiter.

Statt der Anführungszeichen hatte ich auch mal erfolglos Hochkomma benutzt.

Vllt. hat jemand einen Geistesblitz oder ebenfalls dieses oder ein ähnliches Script gebaut. Über Hilfe wäre ich dankbar.

Grüße
Mitglied: dog
14.08.2010 um 20:33 Uhr
Dein Problem ist, dass das Feld nicht IDToken10L sondern IDToken1OL heißt.
Ja, das ist keine Null, sondern ein großes O.
Bitte warten ..
Mitglied: Connor1980
14.08.2010 um 20:50 Uhr
Hallo dog,

danke, das ist zwar richtig, ändert aber leider nichts. Sonst müsste es ja auch mit Name("IDToken1") funktionieren.

Grüße
Bitte warten ..
Mitglied: dog
14.08.2010 um 21:10 Uhr
Sonst müsste es ja auch mit Name("IDToken1") funktionieren.

Wie kommst du darauf?
Name ist kein eindeutiges Attribut und eine Funktion getElementByName gibt es nicht.
Wenn man per Name sucht, dann bekommt man immer eine DOMNodeList und die Funktion ist getElementsByName

Und natürlich ändert es was: es funktioniert dann (ich habe es ja getestet).
Bitte warten ..
Mitglied: Connor1980
15.08.2010 um 01:17 Uhr
Ok, das mit dem getElementByName war auch nur ein Versuch, nachd em Motto, wenns mit Id geht, warum nicht mit Name Das Name nicht eindeutig sein muss im Gegensatz zu Id leuchtet mir ein.

Aber an meinem Problem ändet es leider nichts, wenn ich hier bei mir im ISE das Script starte, bricht es jedesmal mit besagter Fehlermeldung ab, egal ob IDTokenl10L mit einer Null oder dem Buchstaben O.

So, ich habe jetzt mal die Powershell für XP runtergeladen und in einer VM (Win XP Pro) installiert, dort das Skript ausgeführt. Hier komme ich bis über den Login hinweg. Es hakt zwar danach aber das ist erstmal ok. Im Gegensatz zu den Win7 Maschinen wird der Login also durchgeführt. Da muss ich morgen mal weiterschauen.

Grüße

EDIT:
OK, das einzige was ich nicht probiert hatte, war die ISE als Administrator zu starten .... dann funktioniert auch der Login ... ich könnte mir jetzt in den allerwertesten beißen, naja, jetzt kann ich bei den ncäshten Problemchen im Script weitermachen.

P.S.: @dog: getElementByName wird von der c't im Script auch genutzt (funktioniert auch), nämlich nach dem Login zur Überprüfung ob es einen Logout-Knopf gibt ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Zusammenführen mehrere Felder, Datei auswählen

gelöst Frage von GeoSemBatch & Shell3 Kommentare

Hallo Ich möchte aus einer xml einige wenige Felder in eine csv-Datei exportieren. Mit einem Feld geht es problemlos, ...

Exchange Server

Exchange Powershell - Felder werden abgeschnitten

gelöst Frage von chb1982Exchange Server3 Kommentare

Moin zusammen, ich baue gerade eine Auflistung von ActiveSync Geräten an einem Exchange 2010. Dazu nutze ich folgendes: Leider ...

Batch & Shell

In Powershell ordner auswählen

gelöst Frage von SaintwolfBatch & Shell8 Kommentare

Hallo zusammen, ich benötige einen tipp wie man auswält das bei der ausgabe nur noch die mit dem neuestem ...

Batch & Shell

Powershell + IE Automation Zoomlevel

gelöst Frage von complexBatch & Shell3 Kommentare

Guten Morgen zusammen, eine kleine Frage zum Thema IE-Automation in Powershell: Ich habe für unsere IT-Abteilung ein Script geschrieben, ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 13 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...