SpenzeR2k Skrevet 14. august 2007 Skrevet 14. august 2007 Hei, jeg driver på med en bot, men har noen problemer, det som er tingen er at jeg vil at programmet automatisk skal logge ut i det programmet startet, i tilfelle de er på en annen bruker, for om de ikke er logget ut så funker jo ikke boten. Skjønner dere ? her er logg ut koden: wb.Document.Forms(0).signoutsubmit.ClickDoEvents While wb.Busy = True DoEvents Wend jeg får bare error, om boten ikke er på en bruker, så kan den jo ikke logge ut fra en bruker, og da får jeg en erorr.
Manfred Skrevet 14. august 2007 Skrevet 14. august 2007 Når skal vi bli ferdig med NM-jukseboter her??
SpenzeR2k Skrevet 14. august 2007 Forfatter Skrevet 14. august 2007 tja, skal bare gjøre det for og prøve, kan godt gjøre det på en annen side, men trenger litt utfordring Men jeg fikk tips om denne: If wb.DocumentText.Contains("welcome") Then wb.Document.Forms(0).logout.Click DoEvents While wb.Busy = True DoEvents Wend Else End If End Sub men det funka ikke.... (jeg satt den i load på start)
GeirGrusom Skrevet 14. august 2007 Skrevet 14. august 2007 Den må i såfall kalles etter login. Dessuten er While wb.Busy = True smør på flesk, det holder med "While wb.Busy" aprikos while finnes ikke i VB.NET, så det er like greit å ikke bruke den først som sist. While : Wend er byttet ut med Do While : Loop (begge fungerer i VB6, og gjør akkurat det samme) Else kan du droppe, siden den ikke er i bruk. wb.Documents.Forms(0).logout.Click.... funker virkelig dette? skal det ikke være wb.Documents.Forms(0).Items("logout").Perform("Click") eller noe? Men nå rører aldri jeg webbrowser kontrollene i det hele tatt, så hva vet vel jeg.
SpenzeR2k Skrevet 14. august 2007 Forfatter Skrevet 14. august 2007 ja de kodene funker de, men sliter bare med den loggut koden at den logger ut om den er logga inn fra før av.
GeirGrusom Skrevet 14. august 2007 Skrevet 14. august 2007 Awrigth, på tide å lære debugging da kanskje? :O) Sjekk hva .Contains() returnerer, for det kan være at den er case sensetive og krever at du skriver "Velkommen".
aadnk Skrevet 14. august 2007 Skrevet 14. august 2007 (endret) aprikos while finnes ikke i VB.NET, så det er like greit å ikke bruke den først som sist.While : Wend er byttet ut med Do While : Loop (begge fungerer i VB6, og gjør akkurat det samme) 9276768[/snapback] Nå, While...End While (msdn) fungerer utmerket sist jeg sjekket. Men joda, jeg ville selv anbefalt å benyttet Do-varianten. Dersom du vil unngå case sensitivity, kan du jo også benytte IndexOf: If wb.DocumentText.IndexOf("welcome", StringComparison.CurrentCultureIgnoreCase) >= 0 Then ' Osv End If Endret 14. august 2007 av aadnk
SpenzeR2k Skrevet 14. august 2007 Forfatter Skrevet 14. august 2007 prøvde følgende (i form load) If wb.DocumentText.IndexOf("welcome", StringComparison.CurrentCultureIgnoreCase) >= 0 Thenwb.Document.Forms(0).subloggut.Click DoEvents While wb.Busy = True DoEvents Wend Else End If End Sub fikk error, klikka debug det er noe feil i følgende linje: If wb.DocumentText.IndexOf("Banken", StringComparison.CurrentCultureIgnoreCase) >= 0 Then
SpenzeR2k Skrevet 14. august 2007 Forfatter Skrevet 14. august 2007 Run-time error '424': Object required
GeirGrusom Skrevet 14. august 2007 Skrevet 14. august 2007 Duh, vi blander visst litt VB6 og .NET her Nå vet ikke jeg om inStr har samme funksjonalitet som IndexOf, men det vet sikert Aadnk
aadnk Skrevet 14. august 2007 Skrevet 14. august 2007 Nå vet ikke jeg om inStr har samme funksjonalitet som IndexOf, men det vet sikert Aadnk 9277640[/snapback] Såklart. If InStr(1, wb.DocumentText, "welcome", vbTextCompare) > 0 ThenEnd If
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå