Mit Webbrowsert PHP-Formular ausfüllen und abschicken

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von MC_VB.

    Mit Webbrowsert PHP-Formular ausfüllen und abschicken

    Hallo,

    ich habe schon Eniges versucht, um auf einer Internetseite eine Textbox zu füllen und dann das ausgefüllte Formular abzuschicken. Leider komme ich nicht weiter.

    Auch der hier schon mehrfach verlinkte Artikel zum Befüllen und Versenden von Formularen funktioniert bei mir nicht.

    Ich weiß momentan nicht, wie ich

    a) die Textbox im Webbroswer ansprechen soll (ich glaube, das ist der Sourcecode)

    </td><td><input type="Text" name="t4" value="0" size="2" maxlength="4"></td><td><div class="f75"><a href="#" onClick="document.snd.t4.value=5">(5)</a></div></td></tr></table></p>


    und

    b) wie ich dann das Anklicken des dazugehörigen Buttons simulieren soll.

    <p class="f10">Text zur Textbox</p><form method="POST" name="snd" action="build.php">



    Kann mir vielleicht jemand einen Wink geben?



    mfg



    Mr.HIde
    Hallo Mad_andy



    Danke für den Tipp mti der Suchfunktion. Aber diese hatte ich bereits benutzt und ncihts gefunden. Bevor ich nicht gesucht habe, sowohl im Board als auch im Netz (google, einschlägige Boards u.ä.) werde ich heir keien Frage posten. Schließlich will ich das Problem ja selber lösen.

    In diesem Fall komme ich aber nicht weiter, weil ich offensichtlich die falschen Key-Wörter eingebe oder schlicht und ergreifend (auch wenn das eine bittere Erkenntnis ist) noch nicht genug von der Materie PHP und Webbrowser verstehe.

    Deswegen würde ich mich, da das Thema schon behandelt wurde, über einen Link freuen - aber bitte nicht zu der Lösung mit "webbrowser.forms(0).undsoweiter", da die, warum auch immer, hier nicht zu funktionieren scheint.

    Sollte es doch die Lösung sein, wären einige erklärende Worte, was anzupassen sei/wo ich abwandeln muss, sehr hilfreich.



    mfg



    Me_Hide
    Schau mal hier: Websites ausfüllen

    Bei webbrowser.forms(0) kannst du die 0 auch durch den Namen ersetzen, z.B. webbrowser.forms("snd")... bzw heißt es vllt webbrowser.document.forms("snd")
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Danke für die HIlfe,



    leider funktioniert das bei mir nicht.

    Es gibt bei mir kein getelementbyname nach forms(0). Es gibt auch kein value.

    Ich kann zwar nach ewigem Probieren mit

    VB.NET-Quellcode

    1. WebBrowser1.Document.Forms(0).Name


    auslesen, wie das Form heißt (nämlich "snd") und auch mit

    VB.NET-Quellcode

    1. WebBrowser1.Document.ActiveElement.Name


    feststellen, dass die Textbox tatsächlich "t4" heißt, wenn ich rein geklickt habe.

    Ich finde aber einfach keine Möglichkeit, den Wert zu ändern.

    Kann es sein, dass ich noch eine Ressource einbinden muss oder irgend etwas anderes vergessen habe?

    Für Hilfe wäre ich wirklich dankbar

    mfg



    Me_Hide.
    Hallo

    mit

    VB.NET-Quellcode

    1. WebBrowser1.Document.All("t2").SetAttribute("value", "3")


    kann ich den Inhalt der Textbox ändern. Das habe ich von MSDN. Aber leider finde ich nichts, wie ich das Anklicken des Anklicken simulieren kann.

    Im Form steht dazu:

    <form method="POST" name="snd" action="a2b.php">

    aber leider gibt es die .submit Methode, die im verlinkten Beispiel enthalten ist, anscheinend nicht im express 2005.

    Ich werde weiter suchen, aber bisher habe ich ncihts gefunden. So dass ich für Tipps dankbar wäre.



    mfg



    Me_Hide

    Hallo Agent,

    die Codezeilen funktionieren bei mir nicht.

    Ich habe keine

    VB.NET-Quellcode

    1. .submit
    hinter dem

    VB.NET-Quellcode

    1. WebBrowser1.Document.Forms(0).


    Es kommt die Meldung:

    Fehler 1 "submit" ist kein Member von "System.Windows.Forms.HtmlElement"

    Wieso das das so ist, weiß ich nicht.

    Nachtrag:

    VB.NET-Quellcode

    1. WebBrowser1.Document.Forms(php_frm).InvokeMember("submit")

    funktioniert mit VB Express 2005
    Nochmal Danke für die Hinweise.

    mfg



    Me_Hide

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

    Ich hoffe es ist nicht schlimm das ich das ganze hier ausgrabe, aber:
    Wie mach ich das ganze in vb2009? Ein Textfeld ausfüllen funktioniert:

    Quellcode

    1. WebBrowser1.Document.GetElementById("test").SetAttribute("value", "inahlt")

    Allerdings bekomme ich das submit nicht hin, da z.B.

    Quellcode

    1. WebBrowser1.Document.Forms(php_frm).InvokeMember("submit")

    nicht funktioniert. HTML Code:

    Quellcode

    1. <input id="s" type="submit" value=" send " form="submit"/>

    Ich hoffe jemand kann mir helfen. Schon einmal danke!

    Edit: Funktioniert doch, hab meinen Fehler gefunden.
    Hi ich misch mich ma ein also bei mir funktioniert das alles:

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("login-username").InnerText = TextBox1.Text
    2. WebBrowser1.Document.GetElementById("login-password").InnerText = Textbox2.text
    3. WebBrowser1.Document.Forms(0).InvokeMember("submit")'da wo sumbit steht muss der name des Buttons rein, hab ich auch nicht richtig verstanden, dann hab ich einfach alle Texte die im Quellcode in () waren ausgetestet...
    4. 'die id die in () steht findet ihr in dem Quelltext, davor steht ID=