Webbrowser Textbox ausfüllen (doppelt vorhanden) und Combobox ausfüllen

  • Allgemein

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Telcrome.

    Webbrowser Textbox ausfüllen (doppelt vorhanden) und Combobox ausfüllen

    Hey leute,

    ich habe das Problem, das ich in einem webbrowser eine textbox ausfüllen will, dessen Id aber 2 mal auf der Seite vorhanden ist, und es wird die falsche ausgefüllt, hätte da jemand eine idee? außerdem wollte ich noch fragen wie man eine Combobox im webbrowser ausfüllen kann?

    danke schonmal ;)

    PS: bis jetzt benutze ich den code:

    VB.NET-Quellcode

    1. Me.WebBrowser1.Document.GetElementById("Textbox ID").InnerText = "Ausfüllung"


    oder für harte Fälle:

    VB.NET-Quellcode

    1. For Each Element As HtmlElement In WebBrowser1.Document.All
    2. If Element.GetAttribute("value/class/was auch immer") = "Blabla" Then
    3. Element.InvokeMember("click")
    4. End If
    5. Next
    dann ist die seite schlecht gemacht, ids sind nur einmal zu vergeben. des weiteren solltest du automatisierungen wie gestern schon gesagt NICHT mit webbrowsern machen, lese dich in httpwebrequests ein(oben rechts gibts ne suche)
    der webbrowser ist aber nicht richtig, und du hast dich nur dafür entschieden weil du dich nicht in die richtige methode einarbeiten willst. und das ist FALSCH. mach es einfach richtig, es gibt sogar nen tutorial hier im forum.
    gebe sogar zu das ich ERSTMAL zu faul bin, liegt aber auch daran das das programm schnell fertig werden sollte... ist kein großes programm, soll nur kurz paar sachen machen, mehr nicht.

    EDIT

    wenn ich einmal die zeit habe beschäftige ich mich, mit der anscheinend besseren variante
    Was ist eigentlich so schlimm daran etwas zu benutzen, was die Aufgabe viel leichter macht?

    Wenn ich was mit Webautomatisierung (hab keine Ahnung davon, vllt. rede ich auch nur Müll^^) machen wollte würde ich den Webbrowser nehmen, weil der erstens eine Anzeige bietet wie das Ergebnis gerade aussieht und zweitens viel einfacher anzusteuern ist. Auch ist das ganze weniger Schreibarbeit...

    Mit httpWebRequest mag das Resultat schneller sein, mit dem Webbrowser kommt man aber schneller zum Resultat.

    EDIT:
    Bei deiner Abfrage mit der Schleife musst du einfach nur abfragen wann das zweite Element mit dieser ID kommt.
    Also würde das ungefähr so aussehen:

    VB.NET-Quellcode

    1. Dim Schon_Gefunden as boolean = false
    2. for each element
    3. if element.ID = "Deine_ID" then
    4. 'Hier bist du wenn das Element die richtige ID hat
    5. if Schon_Gefunden = false then
    6. Schon_Gefunden = true
    7. else
    8. element.click() 'Hier bist du wenn das Element das richtige ist
    9. end if
    10. end if
    11. next

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