d3luxe
Goto Top

(Visual Basic 2008) Auf dialogfeld auf website zugreifen!?

Also ich bin gestern auf ein videotutorial gestoßen das erklärt wie man mit dem Visual Basic 2008 Webbrowser element auf ein Dialogfeld einer website zugreifen kann.. das ganze hab ich gemacht.. nur will es nicht so ganz! Im code selbst werden keine fehler erkannt aber beim debuggen kommt "NULLReferenceException wurde nicht von Benutzercode behandelt" das bezieht sich auf die variable "user" die den inhalt einer textbox hat sollte die textbox leer sein gibt es ne meldung.. also liegt es nicht daran das kein text in der variable ist! Ich kann mir das ganze nicht erklären..

 user = TextBox1.Text
 WebBrowser1.Document.GetElementById("name").InnerText = user  
            WebBrowser1.Document.GetElementById("password").InnerText = lines(i)  

            WebBrowser1.Document.Forms(3).InvokeMember("submit")  
            WebBrowser1.Refresh()

            Do While WebBrowser1.ReadyState
                Application.DoEvents()

            Loop
            sleep(800)


das direkte angeben der textbox1.text hat auch keinen unterschied des errors erbracht! Die tipps die vb dazu gab haben alle nicht geholfen, deswegen wende ich mich an euch und hoffe das ihr mir weiterhelfen könnt

Content-ID: 115679

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

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

76109
76109 10.05.2009 um 14:27:38 Uhr
Goto Top
Hallo d3luxe,

fehlt bei der TextBox1 eventuell der Form-Name z.B. Form.TextBox1.Text?

Gruß Dieter
d3luxe
d3luxe 10.05.2009 um 14:54:56 Uhr
Goto Top
Bei Visual Basic 2008 muss man kein Form-Name angeben.. als ich das getan hab gab es einen fehler! Im editor gibt es keinen fehler oder warnungen erst beim ausführen gibt es den error wenn ich die textbox ausgefüllt hab und auf den login button klicke dann kommt du NullReferenceException.. ich verstehe nicht warum.. man muss den text als string angeben textbox1.text ist string die variable user ist string und selbst wenn ich direkt den usernamen in "" angebe kommt die NullReferenceException und ich weiß einfach nicht warum alle von vb gegebenen Tipps sind nutzlos

Dieses fenster wird angezeigt

http://www.img-hosting.de/show.htm?bild=21589nulljpg

Edit: Ok es hat sich was getan.. die seite war noch nicht ganz geladen deswegen existierten die felder nicht! So jetzt haben wir ein anderes problem das sich "InvalidCastException" nennt "Die angegebene Umwandlung ist ungültig" dieser error bezieht sich wieder auf die gleiche stelle!
76109
76109 10.05.2009 um 15:16:17 Uhr
Goto Top
Hallo d3luxe,

hmh, hast Du etwas in der Art in Deinem Code stehen:

Dim WebBrowser As Object
Set WebBrowser = CreateObject("InternetExplorer.Application")  

Gruß Dieter
d3luxe
d3luxe 10.05.2009 um 15:17:16 Uhr
Goto Top
Nein habe ich nicht...................................... außerdem sieht dieser code aus als wäre er nicht aus .net weil es bei vb 08 kein set befehl gibt soweit ich weiß..

Und damit du den edit oben nicht übersiehst schreib ich es nochmal hier nur um sicher zu gehen.

Ok es hat sich was getan.. die seite war noch nicht ganz geladen deswegen existierten die felder nicht! So jetzt haben wir ein anderes problem das sich "InvalidCastException" nennt "Die angegebene Umwandlung ist ungültig" dieser error bezieht sich wieder auf die gleiche stelle!
76109
76109 10.05.2009 um 15:21:40 Uhr
Goto Top
Hallo d3luxe,

Nö, der ist aus VBS/VBA. Sorry, da kann ich Dir leider nicht weiterhelfen.

Gruß Dieter
d3luxe
d3luxe 10.05.2009 um 15:35:29 Uhr
Goto Top
Das ist schade... ich werd noch googlen und hoffen das vllt noch jemand ne idee hat sollte ich es allein lösen schreibe ich die lösung natürlich hier her!
bitstash
bitstash 13.05.2009 um 17:16:25 Uhr
Goto Top
Hallo,

dein Problem liegt auch nicht an dem oben geposteten Code-Auschnitt. Poste doch mal deinen ganzen Code, oder lade das Projekt bei einem Filehoster hoch. Die NULLReferenceException kommt in der Regel dann zustande, wenn ein Objelt noch nicht initialisiert wurde. Typische Fehler sind dim bla as Object statt dim bla as new Object. Bzw. kannst du auch später mit bla = new object das ganze initialisieren.

MfG