Webkit - Auto-Login Code fehlerhaft

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RiX.

    Webkit - Auto-Login Code fehlerhaft

    Ich versuche schon seit einer Weile Vergeblich folgenden Code mit WebKit in Visual Basic Express 2010 zum laufen zu bekommen. Mit dem Standart Webbrowser ließ sich ein Login Script eines Users aus einem anderen Programmiervorum perfekt ausführen, ich bin jedoch vollkommen ratlos, wo mein Fehler in der Modifizierung liegt.

    Daher hier zunächst mein aktueller Login Code:


    VB.NET-Quellcode

    1. Private Sub Login()
    2. AlleFelderAusgefüllt = False
    3. Try
    4. BattlelogBrowser.Navigate("https://www.ea.com/profile/login") ' Webseite laden
    5. Catch ex As Exception
    6. Beep()
    7. End Try
    8. Do While BattlelogBrowser.IsBusy = True ' Warten bis Webseite vollständig geladen
    9. Application.DoEvents()
    10. Loop
    11. Dim ElementListe
    12. If AlleFelderAusgefüllt = False Then
    13. ElementListe = BattlelogBrowser.Document.GetElementsByTagName("input")
    14. For Each Element In ElementListe ' Liste durchlaufen
    15. Select Case ("input")
    16. Case "email"
    17. Element.SetAttribute("Value", TextBox1.Text) ' Benutzername einfüllen
    18. AnzahlFelderAusgefüllt += 1
    19. Case "password"
    20. Element.SetAttribute("Value", TextBox2.Text) ' Passwort einfüllen
    21. AnzahlFelderAusgefüllt += 1
    22. End Select
    23. Next
    24. 'MessageBox.Show(AnzahlFelderAusgefüllt & " Felder ausgefüllt")
    25. AlleFelderAusgefüllt = True
    26. For Each Element In ElementListe
    27. If Element.GetAttribute("value").Equals("Login") Then
    28. 'MessageBox.Show("Klick /Submit wird ausgeführt")
    29. Element.InvokeMember("click") ' Klick ausführen
    30. BattlelogBrowser.Visible = True
    31. End If
    32. Next
    33. End If
    34. End Sub


    Im Detail liegt das Problem meines Erachtens an:

    VB.NET-Quellcode

    1. Dim ElementListe As HtmlElementCollection


    Ohne die Definierung als HtmlElementCollection funktioniert auch der Rest, zB:

    VB.NET-Quellcode

    1. For Each Element As HtmlElement In ElementListe

    nicht mehr!

    Daher folgende Frage: Kann mir jemand den Code so anpassen, dass ein Login auf der angegebenen Website über das Webkit funktioniert (automatisiert) oder mir eine radikale Änderung anbieten, die es ermöglicht mit vorher bekanntem Namen und Passwort einen Login durchzuführen, ohne dass der User am ende einen Klick tätigen muss?

    Vielen herzlichen Dank im Vorraus,

    Grüße
    RiX :thumbup:


    Sprache erkennen » German

    Sprache erkennen » German

    RiX schrieb:


    Daher folgende Frage: Kann mir jemand den Code so anpassen, dass ein Login auf der angegebenen Website über das Webkit funktioniert (automatisiert) oder mir eine radikale Änderung anbieten, die es ermöglicht mit vorher bekanntem Namen und Passwort einen Login durchzuführen, ohne dass der User am ende einen Klick tätigen muss?

    Vielen herzlichen Dank im Vorraus,

    Grüße
    RiX :thumbup:


    Sprache erkennen » German

    Sprache erkennen » German
    Ja , kann ich.


    Lösch dein Webbrowser Control aus Visual Basic und vergiss die ganze Scheisse mit Webbrowser.

    Mach das lieber per HttWebRequest , da hast du keine scheiss IE Engine , keine Scripts , keine Werbung und kannst das ganze im Hintergrund machen.

    Ich kann dir gerne helfen wenn du magst , kannst dich bei mir melden.

    AsdAsd1337 schrieb:

    Ja , kann ich.


    Lösch dein Webbrowser Control aus Visual Basic und vergiss die ganze Scheisse mit Webbrowser.

    Mach das lieber per HttWebRequest , da hast du keine scheiss IE Engine , keine Scripts , keine Werbung und kannst das ganze im Hintergrund machen.

    Ich kann dir gerne helfen wenn du magst , kannst dich bei mir melden.
    Danke, mir ging es beim benutzen von WebKit darum eben das, was du meinst zu umgehen: die IE Engine. Ich Programmiere mir gerade, daher auch diese Anfrage, ein Tool für das kommende Battlefield: Da dieses das Hauptmenü durch eine Website ersetzten wird, bin ich zu dem Schluss gekommen, dieses mithilfe einer Vollbild Anwendung und Autologin zu vereinfachen. Das Programm hat mit der IE Engine zwar sehr gut funktioniert, nur muss dummerweise die Website NACH dem Login Vorgang auch wirklich sichtbar sein - als Hauptmenü eben.

    Ist es eventuell möglich per HttWebRequest den Login zu vollziehen und danach über Webkit die Seite aufzurufen? Klingt unrealistisch, aber wäre den Versuch wert! :S