Quellcode einer Webseite nach Login bearbeiten
03.01.2019 13:45:37
Rasenack
Mein Hauptproblem liegt nun bei einem Laufzeitfehler, dass das Objekt browser nicht vohanden sei und dieses als "Is Nothing" ausgegeben wird. Nach einigen Überlegungen scheint es mir logisch, da ja die Webseite nicht mehr dieselbe ist wie vorher. Es öffnet sich kein neues Fenster, sondern sie heißt nur anders nämlich https://www.laola-zentralkueche.de/web/orderchange
Kann mir jemand bei meinem Problem behilflich sein, denn meine Kenntnisse mit HTML sind nicht sehr gut? Also im Prinzip braucht mein Code wieder Objekt der Webseite nach dem Login, um damit arbeiten zu können.
Vielen Dank im Voraus und liebe Grüße
Hier noch der ungetestete Code und im Anhang die Textdatei der Webseite nach dem Login:
Sub Login_Laola()
Dim browser As Object
Dim knotenStamm As Object
Dim wochentage As Object
Dim m, n As Integer
'Internet Explorer initialisieren, Sichtbarkeit festlegen,
'URL ?bergeben und warten bis URL ganz geladen wurde
Set browser = CreateObject("InternetExplorer.Application")
browser.Visible = True
browser.navigate "https://www.laola-zentralkueche.de/web/menu"
Do Until browser.readyState = 4: DoEvents: Loop
'HTML-Ausschnitt aus DOM holen, in dem die Login Eingabefelder liegen
Set knotenStamm = browser.document.getElementById("login1")
'Mit dem HTML-Ausschnitt weiterarbeiten, indem die richtigen HTML-Tag
'Namen angesprochen werden, um Benutzername und Passwort einzutragen
knotenStamm.getElementsByTagName("input")(0).Value = "#########"
knotenStamm.getElementsByTagName("input")(1).Value = "#########"
'Die eingetragenen Daten ?ber den Login-Button absenden
knotenStamm.getElementsByTagName("input")(4).Click
'klickt den jeweiligen Button der in der Exceltabelle eingetragenen Kalenderwoche an
Set wochentage = browser.document.getElementById("selectedweek_ & cells(56, 9). _
Value").Click
'tr?gt die jeweiligen Werte der Exceltabelle in die zugeh?rigen Felder der Tabelle
'auf der Webseite ein
For m = 61 To 65
For n = 0 To 9
Set wochentage = browser.document.getElementsByClassName("bottomoff")(n)
wochentage.getElementsByTagName("input")(0).Value = Cells(m, n + 2).Value
Next n
Next m
End Sub
https://www.herber.de/bbs/user/126459.txt