Archief - visual basic 2010 express error

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

mortati

Legacy Member
Hallo, ik ben een programma aan het schrijven in visual basic 2010 en een onderdeel ervan is het automatisch invullen van de login-velden van facebook.
Hieronder vind je de printscreen die ik gemaakt heb van mijn probleem, ik heb het hele internet al afgezocht maar geen enkele site kan mij die juiste informatie over deze foutmelding geven.
Kan iemand dit probleempje oplossen?
Alvast bedankt!
error.JPG

sparks

Legacy Member
Argument out of range exception.
Je item(0) bestaat dus niet.

mortati

Legacy Member
mijn item dat niet bestaat zou dus die Textbox1 zijn?
het doel is om wat ingevuld wordt in mijn textbox automatisch in te vullen in de login-velden van de website, wat is er mis met de code?
alvast badankt

cptKangaroo

Legacy Member
Je gebruikt getElementsByTagname, en dat slaat op html tags zoals <title>

De <email> html-tag bestaat niet, dus je moet op iets anders zoeken, bijvoorbeeld op getElementsByName("email") want de loginbox is een input met name="email" attribuut.

mortati

Legacy Member
inderdaad, maar wat ik dan krijg is het volgende:
'GetElementsByName' is not a member of 'System.Windows.Forms.HtmlDocument'

Tja... en nu? :p

mortati

Legacy Member
ok zelf opgelost, het moest zijn: GetElementById(...)
Als ik nu het programma laat uitvoeren (debug) dan krijg ik het volgende:
"NullReferenceException was unhandled"
Waarschijnlijk maak ik ergens een elementaire fout hoor, maar ik zie ze niet...

voltje

Legacy Member
Om te beginnen vind ik het zever dat ge zegt dat ge het interenet afzoekt en niets vind.
Ge krijgt standaard exceptions, 't internet staat er vol van.

Ik (en ik vermoed anderen) zullen u even hard helpen als ge rechtuit bent en zegt dat ge het niet kunt of dat ge te lui bent om te zoeken. Want 't is redelijk duidelijk dat ge niet echt gezocht hebt op uw exception.

No offence btw he, gewoon even melden ;-)

Anyway, NullReferenceException wil dus zeggen dat ge een property of method aanroept van iets dat "Null" is.
Paste gerust de lijn waar deze fout zich voordoet zodat we kunnen zien waar de fout zich voor zou doen.

Waarschijnlijk gaat het falen op "getElementById", wat logisch is indien je een niet geldig Id opvraagt.

beste is da je doet:

if WebBrowser1.Document.GetElementById("uwId") Is Not Nothing Then
WebBrowser1.Document.GetElementById("uwId").Item(0).SetAttribute...
End if

'T is nog niet volledig ok zo hoor, maar ge bent uw NullReference kwijt dan (indien deze op getelementbyid voordoet)


Btw, dit is echt NIET de manier om je in te loggen op facebook hoor...

Bekijk eens: http://facebooksdk.codeplex.com/

Is wel c# maar ja... :)

mortati

Legacy Member
Wat dat internet afzoeken betreft, heb ik gedaan hoor, ik heb bijna elke tip die op het internet stond geprobeerd, maar het werkte gewoon nog altijd niet, daarom dat ik op dit forum een post heb geplaatst om te vragen wat nu precies telkens het probleem is, elke methode geeft wel een of andere nieuwe foutmelding, snappie :)

Toch van harte bedankt voor de hulp

voltje

Legacy Member
Mijn reply zou u al een pak verder moeten helpen, mijn comment was helemaal niet slecht bedoeld. Maar bon, dat doet er nu niet toe.

Het is een veel voorkomende fout zonder "kant en klare" oplossing. Maar 't ligt meestal wel voor de hand.

mortati

Legacy Member
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim TextBox1 As New Object
WebBrowser1.Navigate("www.facebook.com/login.php")
If WebBrowser1.Document.GetElementById("email") Is Nothing Then
WebBrowser1.Document.GetElementById("email").SetAttribute(Text, "blabla")
End If

End Sub

=> welke methode ik ook probeer, hetzij met 'value' of 'item' of 'innertext' in plaats van SetAtribute, ik stoot telkens bij het debuggen op een foutmelding in die regel.
Wat ik zoek is gewoon de manier om de tekstvelden/loginvelden van een webpagina automatisch in te vullen na een druk op de knop in mijn programma... Dit is toch niet onmogelijk neem ik aan?

mortati

Legacy Member
inderdaad! door If Not te gebruiken verdwijnt elke foutmelding en ik kan mijn programma probleemloos uitvoeren, hij opent de login.php pagina van facebook, maar daarna vult hij wel de velden niet in...

voltje

Legacy Member
Dat is logisch... Ik heb enkel een stuk code gegeven om uw foutmelding weg te krijgen.
zoals ik al zei, gebruikt ge het verkeerde ID binnen uw GetElementById.
Dus vul hier het juiste in...

mortati

Legacy Member
google chrome, in het veldje klikken en element inspecteren:
<input type="text" class="inputtext" id="email" name="email" value="" onkeypress="formchange()">

dus: mijn ID is wel degelijk "email"

voltje

Legacy Member
Het geeft Null terug, dus het klopt niet.

Is je veld wel al gerenderd als je in de code komt ?
Debug eens en bekijk eens alle elements etc...

mortati

Legacy Member
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate("www.facebook.com/login.php")
If Not WebBrowser1.Document.GetElementById("email") Is Nothing Then
WebBrowser1.Document.GetElementById("email").SetAttribute(Text, "lol")
End If
End Sub

That's the code, wanneer ik debug opent mijn venster en soms krijg ik de login.php pagina te zien, zonder ingevulde velden, ofwel 'de webpagina kan niet worden weergeven', maar verder gebeurt er niets (geen foutmeldingen ofzo)

voltje

Legacy Member
Debug eens en kijk welke velden er zijn...
Voor zo ver ik weet gaat dat gwn niet werken... Ge moet wachten tot ge naar de pagina bent genavigeert.

Maar zoals ik zei, das echt niet de manier om te authenticeren bij Facebook

Cycloon

Legacy Member
Dit is trouwens verboden volgens de FB policies. Anderzijds, het loginsysteem van FB is vrij complex, net om scriptkiddies tegen te gaan om daar automatische loginsoftware voor te schrijven. Ik zou zeggen, doe de moeite niet als je zelf deze exceptie niet zelf kan uitdokteren.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan