Auf Webseite gehen und einloggen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Lego623.

    Auf Webseite gehen und einloggen

    Hallo Leute,
    ich hoffe ihr könnt mir helfen. Und ja, ich weiß das diese Frage schonmal gestellt worden ist aber ich habe es nicht hinbekommen.
    Ich habe ein WindowsForm mit einem "Login"-Button erstellt.

    Dazu habe ich folgenden Vb-Code geschrieben:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Process.Start("http://letsmine.me/index.php?form=UserLogin&")
    4. End Sub
    5. End Class

    Das öffnet nun zwar die Login-Seite, aber wie ist der passende Code zum Einloggen?
    Mfg Lego623
    Bilder
    • login.PNG

      4,76 kB, 184×117, 334 mal angesehen

    website login

    hi,
    also wenn du es so machen willst, das du 2 textboxen in deiner form hast einmal für den benutzer und eine für das password kann ich dir folgenden code geben.

    VB.NET-Quellcode

    1. Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
    2. Try
    3. Form2.WebBrowser1.Document.GetElementById("login[u]").SetAttribute("value", txtUser.Text)
    4. Form2.WebBrowser1.Document.GetElementById("login[p]").SetAttribute("value", txtPasswort.Text)
    5. Form2.WebBrowser1.Document.GetElementById("Submit").InvokeMember("click")
    6. Catch ex As Exception
    7. MsgBox("Fehler bei der Anmeldung !!! Starten sie das Programm erneut", MsgBoxStyle.Critical)
    8. End Try
    9. Form2.lblUser.Text = txtUser.Text
    10. Form2.lblPassword.Text = txtPasswort.Text
    11. Me.Hide()
    12. End Sub


    Wichtig. schaue dir den quelltext der webseite an wo du dich einloggen willst und suche folgende stellen raus damit das mit dem login funktioniert

    z.b.: bei jappy.de (quellcode hierfür ist ungefähr der selbe. es gibt aber abweichungen!)

    Quellcode für den benutzer:

    Quellcode

    1. <div class="login">
    2. <div class="user">
    3. <div class="title">Nutzername:</div>
    4. <input type="text" name="login[u]" class="ipW1"><br>
    5. </div>


    Quellcode für das passwort:

    Quellcode

    1. <div class="password">
    2. <div class="title">Passwort: </div>
    3. <input type="password" name="login[p]">


    quellcode für das übermitteln der daten:

    Quellcode

    1. <div class="submit">
    2. <button type="submit" name="Submit" class="inAc">Login</button>
    3. </div>


    jeweils brauchst du immer nur den teil nehmen wo "name=..." steht und den fügst du in den code oben ein den ich eingefügt habe.

    ich hoffe das dir das weiter hilft.
    Die Idee verstehe ich. Ich habe nun 2 Textboxen eingefügt, aber in deinem Code steht: "Form2.WebBrowser1....." Das ganze soll aber doch in Firefox audgeführt werden. Und noch eins: Du hast in deinem Code nicht stehen das sich Form2 öffnet. In meinem Projekt ist auch nur eine Form1 und keine Form2. Hast du sonst noch eine Idee?
    Mfg Lego623
    Eventuell erlaubt die Seite User und PW als Variablen mitzugeben. Ansonsten direkt über die login.php gehen,
    meint, einen WebRequest senden. Ob das ganze so in Forefox funktioniert, ka. Ich bezweifle es.

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    One-Soft ich habe dein Tut nicht gecheckt und dieses Live-HTTP-Header geht auch nicht! Bitte helft mir, es kann auch eine WebBrowser1 sein, der diese Login öffnet!
    Mfg Lego623

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lego623“ ()

    Ein User Lego der züge mag, das gefällt mir!

    ... deswegen bekommst du auch einen code von mir das selbe habe ich nämlich vor ein paar tagen programmiert (faulheit siegt! ich bin IT-ler ich log mich doch nicht selber ein aber hallo?! :D )

    ich habs mit nem webbrowser element gemacht 2 möglichkeiten deine logindaten zu übermitteln bekommst du von mir:

    hier am beispiel von paypal es wird direkt in die felder geschrieben:

    erstmal die variablen deklaieren:

    Dim user As String
    Dim pwd As String
    Dim userid As String = ""
    Dim pwdid As String = ""
    Dim tabvorher As Boolean = False
    Dim urlafter As String
    Dim dourlafter As Boolean = True
    Public logedin As Boolean = False


    hier dann der code für die dateneingabe

    Sub paypal() Handles PayPalToolStripMenuItem.Click <- da einfach dein button.click rein machen WebBrowser1.Navigate("https://www.paypal.com/de/cgi-bin/webscr?cmd=_login-submit")
    user = "USERNAME"
    pwd = "PASSWORT"
    userid = "login_email" <- der feldname für das userbeld
    pwdid = "login_password" <- der feldname für das passwort
    Timer1.Start()
    End Sub


    dann hab ich ihn warten lassen denn die seite muss ja erstmal laden hier hast du meinen Timer:


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then

    If Not userid = "" Then

    Try


    WebBrowser1.Document.GetElementById(userid).InnerText = user
    WebBrowser1.Document.GetElementById(pwdid).InnerText = pwd
    WebBrowser1.Document.GetElementById(userid).Focus()
    SendKeys.Send("{ENTER}")

    userid = ""
    pwdid = ""

    Catch

    End Try

    Timer1.Stop()
    Else

    If tabvorher = True Then
    SendKeys.Send("{TAB}")
    tabvorher = False
    End If

    Me.Focus()
    SendKeys.Send(user)
    SendKeys.Send("{TAB}")
    Me.Focus()
    SendKeys.Send(pwd)
    SendKeys.Send("{ENTER}")

    Timer1.Stop()
    End If

    If dourlafter = True And WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
    WebBrowser1.Navigate(urlafter)
    dourlafter = False
    End If
    End If

    End Sub

    so dann hab ich noch ein anderen code zum übermitteln für die felder den kannst du für den fall benutzen: sobald du auf der seite bist kannst du schon (ohne draufzuklicken) deinen usernamen eingeben:

    Sub paypal() Handles PayPalToolStripMenuItem.Click <- da einfach dein button.click rein machen WebBrowser1.Navigate("https://www.paypal.com/de/cgi-bin/webscr?cmd=_login-submit")
    user = "USERNAME"
    pwd = "PASSWORT"
    Timer1.Start()
    End Sub

    also einfach die felder weggelassen :)

    aber achtung das ist geht in dem script mit sendkeys nachteile dürften ja bekannt sein

    bevor jemand was sagt: ja der code könnte wesentlich besser sein aber er funktioniert, wer motzen will kann gerne einen !!Vollständigen!! code posten :D


    ich hoffe ich konnte dir helfen

    Lego Heil!
    Züge Heil! :P

    || 2x edit gemacht wieso zerhauts mir wenn ich EXTRA "vbcode" auswähle die formatierung... so ein mist .-/ ||

    user2100 schrieb:

    Form2.lblUser.Text = txtUser.Text
    Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!