Du bist nicht angemeldet.

TG22997

Spezialist

  • »TG22997« ist der Autor dieses Themas

Beiträge: 863

  • Private Nachricht senden

1

Mittwoch, 22. Juli 2009, 11:12

Tutorial Login auf einer Webseite, Forum etc...

Hallo allerseits,
ich habe ein Tutorial geschrieben das zeigt, wie man sich auf einer Webseite,
Forum oder ähnlichem einloggen, bzw. anmelden kann.
Ich zeige es an einem Beispiel, nämlich W-K-W(http://www.wer-kennt-wen.de/)

Man braucht:
1Button(Button1)
2TextBoxen(TextBox1 und TextBox2)
1WebBrowser(WebBrowser1)

Hier der Code:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Document.GetElementById("loginName").InnerText = TextBox1.Text
        WebBrowser1.Document.GetElementById("password").InnerText = TextBox2.Text
        WebBrowser1.Document.Forms(0).InvokeMember("submit")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://www.wer-kennt-wen.de/")
    End Sub
End Class


Edit:
Habe eine Alternative ohne TextBoxen:
Benötigt wird:
1Button(Button1)
1WebBrowser(WebBrowser1)

Code:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try        
        Dim usr As String = InputBox("Bitte geben sie ihren Username ein", "Username")
        Dim psw As String = InputBox("Bitte geben sie ihr Passwort ein", "Password")
        WebBrowser1.Document.GetElementById("loginName").InnerText = usr.ToString
        WebBrowser1.Document.GetElementById("password").InnerText = psw.ToString
        WebBrowser1.Document.Forms(0).InvokeMember("submit")
        Catch ex As System.Net.WebException
        MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://www.wer-kennt-wen.de/")
    End Sub
End Class


Kommentare bzw. Bewertungen erwünscht!

Screenshots werden auch noch gemacht!

mfg Tim;)
For Each car In Garage
car.StartEngine()
Next

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »TG22997« (23. Juli 2009, 10:17)


Dodo

Super Moderator

Beiträge: 4 961

Dabei seit: 5. Oktober 2008

Wohnort: Berlin

Hilfreich-Bewertungen: 586

  • Private Nachricht senden

2

Mittwoch, 22. Juli 2009, 14:04

Funktioniert aber auch nur wenn die Inputfelder eine ID haben.
KEINE VB-FRAGEN ÜBER PN STELLEN!

Wenn du einem Hungernden einen Fisch schenkst, wird er morgen wieder hungrig sein, bringst du ihm das Fischen bei, wird er nie wieder hungrig sein.

Alle Copy & Paste Geber und Forderer, nehmt euch dies zu Herzen!

creac

Registrierter Benutzer

Beiträge: 57

Dabei seit: 29. März 2009

  • Private Nachricht senden

3

Montag, 27. Juli 2009, 22:25

Und wenn die ID loginName bzw Password ist. falls nicht, müsste man sie die Namen aus dem Quelltext suchen.

Zitat

Letztenendes macht es also kaum einen Unterschied, welche Programmiersprache du verwendest, da zwar jede Sprache ihre eigenen Merkmale hat, die meisten Ideen aber in jeder Sprache umsetzbar sind. Die Außnahme ist Perl. Perl ist einfach nur brutal hässlich.

frankenstein91

Registrierter Benutzer

  • »frankenstein91« ist männlich

Beiträge: 4

Dabei seit: 17. November 2009

  • Private Nachricht senden

4

Dienstag, 17. November 2009, 18:27

ich suche sowas für Dropdown felder kann mir da jemand helfen?

  • »Waijkey« ist männlich

Beiträge: 183

Dabei seit: 15. Oktober 2009

Wohnort: Wendlingen

Hilfreich-Bewertungen: 10

  • Private Nachricht senden

5

Freitag, 16. April 2010, 11:33

Wie kann man den eine Checkbox checken?


CodeMonkey v 1.0: 70%

Patschi

pkern.at

  • »Patschi« ist männlich

Beiträge: 165

Dabei seit: 31. Juli 2009

Wohnort: pkern.at / Österreich

  • Private Nachricht senden

6

Freitag, 16. April 2010, 15:55

Visual Basic Quellcode

1
2
3
If CheckBox1.Checked = True
'blubb
End If


Oder was meinste? ^^
Meine neue Homepage: pkern.at
Wetter bei mir zu Haus:

Cr4ckY

Registrierter Benutzer

  • »Cr4ckY« ist männlich

Beiträge: 664

Dabei seit: 16. Dezember 2009

Frühere Benutzernamen: Cr4ckY

Hilfreich-Bewertungen: 16

  • Private Nachricht senden

7

Mittwoch, 21. April 2010, 12:59

Ich glaube er meinte neben dem Login wo man eine "Angemeldet bleiben"-Checkbox automatisch ankreuzen kann.
"To succeed you have to stop being ordinary and be legen - wait for it - dary."
Barney Stinson

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

8

Mittwoch, 21. April 2010, 20:29

Visual Basic Quellcode

1
WebBrowser1.Document.GetElementById("checkbox").SetAttribute("checked",...)

auf das ... darfste selbst noch kommen...soll ja nicht C&P sein ;)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

mistervb2008

Registrierter Benutzer

Beiträge: 1

Dabei seit: 30. August 2010

  • Private Nachricht senden

9

Montag, 30. August 2010, 00:39

Hallo!

Ich habe dies mal für Yahoo ausprobiert und für die Seite flirttown.net.

Ergebnis: Bei Yahoo klappt es, bei flirttown.net nicht. Der Login-Button wird nicht betätigt.

Hier ist der Quellcode:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1

	Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

	End Sub

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    	WebBrowser1.Navigate("http://www.flirttown.net/content/left.php/")
	End Sub

	Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    	WebBrowser1.Document.GetElementById("UserName").SetAttribute("value", TextBox1.Text)
    	WebBrowser1.Document.GetElementById("password").SetAttribute("value", TextBox2.Text)
    	WebBrowser1.Document.GetElementById("Login").InvokeMember("click")


	End Sub
End Class


Das Problem ist hier, dass der Login in einem Frame geladen wird bzw. über den Pfad
http://www.flirttown.net/content/left.php/

Hier liest der Internet Explorer die Skripte nicht mehr (css wird nicht umgesetzt und wohl auch die js-Dateien nicht).

Wenn ich die Seite aufrufe erscheint:



Die Daten werden zwar bei Klick auf Login den Textboxen übergeben, aber der Login-Button wird nicht automatisiert betätigt.

Könnte jemand nachschauen woran es hakt?

Ich vermute evtl. an Einstellungen im IE oder aber an einer Anweisung im Quellcode der Seite
http://www.flirttown.net/content/left.php/

Hier könnte action="no_script.php" eine Rolle spielen, oder?

Wäre super, wenn das jemand helfen könnte zu lösen.
Vielen Dank schonmal. :)

dbsystel

Begeisterter VB-Programmierer

  • »dbsystel« ist männlich

Beiträge: 234

Dabei seit: 16. Oktober 2010

Wohnort: Hilchenbach

Hilfreich-Bewertungen: 26

  • Private Nachricht senden

10

Dienstag, 21. Dezember 2010, 18:59

Also mein Code sieht jetzt so aus:

Visual Basic Quellcode

1
WebBrowser1.Document.GetElementById("date0").SetAttribute("value", TextBox3.Text)

aber ohne den suchen button kann ich das nicht testen, weil wenn ich refresh oder update mache, wird die seite ja komplett neu geladen, oder zu mindest bei bahn.de.
und auch wenn ich mir die links durchlese, bringt mich das auch nicht weiter, weil ich im quelltext den button finde, aber nichts womit ich ihn identifitieren könnte.(glaube ich zumindest).

p.s ich will jetzt aber auch nicht die komplette html funktion erlernen, weil ich html eig. nur für diese aufgabe brauche, sprich wenn ich den suchen button hätte, bin ich quasi fertig, weil ich für die ergebniss seite eine lösung gefunden habe

Epic

Floating Turtle

Beiträge: 219

Dabei seit: 31. Mai 2010

Frühere Benutzernamen: knurbl

Hilfreich-Bewertungen: 35

  • Private Nachricht senden

11

Dienstag, 10. Januar 2012, 00:33

Hey,

ich habe jetzt zwei Fragen.

1. Wie kann ich ein Objekt von einem select-Komponent ("DropDown") auswaehlen? (Angenommen die Eintraege (Object) haben alle eine value oder durch Number)

2. Wie koennte ich ein input-Submit das keine ID hat "invoken" bzw. ausrufen oder anklicken?

Vielen Dank.

-Epic

Mangafreak1995

Anwendungsentwickler

  • »Mangafreak1995« ist männlich

Beiträge: 1 670

Dabei seit: 16. August 2009

Wohnort: /home/usr/

Hilfreich-Bewertungen: 175

  • Private Nachricht senden

12

Dienstag, 10. Januar 2012, 06:17

Dropdowns sind auch nur Elemente und diese kannst du irgenwie mit diesen Get...-Funktionen finden. Was bei dir am sinnvollsten ist musst du wissen. Die Unterelemente (in HTML gesehen) sind die select-Elemente, dessen Select-Attribute nur setzen musst.

Social Bookmarks