Click auf Div Element im Webbrowser element

  • VB.NET

Es gibt 55 Antworten in diesem Thema. Der letzte Beitrag () ist von Roger1992.

    Click auf Div Element im Webbrowser element

    Hallo zusammen

    Ich habe eine Webpage, auf der ist ein Div-Element.
    Nun möchte ich mittels selbständigen VB-Programm ein click auf dieses Div-Element ausführen über ein Webbrowser Element.

    Von dem div ist alles bekannt.

    HTML-Quellcode

    1. <div class="tile farmtown_owned" id="farm_town_467" style="left: 68093px; top: 69510px; background-image: url(Bild.png); "><div class="res_available"></div></div>



    Wie kann ich nun ein Click darauf ausführen?

    Danke und Grüsse
    Roger Erni
    Hey

    Also ich habe nun folgenden Code:

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("farm_town_467").RaiseEvent("click")



    Stimmt das so?

    Erhalte immer diese Fehlermeldung
    Der Wert liegt außerhalb des erwarteten Bereichs.

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

    was passiert denn beim Klick auf das Element?
    Bist du sicher, dass es auch auf das Element ist?
    Müsste man evtl. einen richtigen Mausklick simulieren(mouse_event-API), oder reicht es evtl. per SendMessage ein bestimmtes Event auszuführen...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Nun ja, es ist eigentlich ein div element, welches mittels Javascript ein weiteres div element anzeigt. Nur leider kann ich nirgens im Quelltext die Javafunktion finden.

    Wenn ich es im Browser mache, muss ich auf das Div Element drauf klicken.

    Wie würde das gehen einen Mausclick simulieren?
    mit mehr Quellcode, oder einem Link könnte man dir sicher mehr sagen, ein Mausklick zu simulieren ist eher unschön und per SendMessage ist 1. Schwierig und 2. nur sehr bedingt möglicht...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    VB.NET-Quellcode

    1. Dim heDivItem as HtmlElement = WebBrowser1.Document.GetElementById("farm_town_467") 'dein Element'
    2. heDivItem.InvokeMember("click") 'simuliert einen Mausklick auf das Element

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

    Ein DIV Element kannst du eigentlich eh nicht anklicken, weil es im Browser selbst dafür kein Event gibt. Zb hier im Forum sind auch ne menge Div Elemente, die sind aber nur zum Aussehen und formatierungen. Finde den Javascript teil heraus, dann ist das realisierbar.
    Hallo zusammen

    Danke für die vielen Antworten.

    Nun ich bin wirklich überfordert ich hab keine Ahnung welches der JS Code sein sollte.
    Hier mal der Quelltext der Website:

    HTML-Quellcode




    Beim Click im Browser auf dieses Div, erschein ein weiteres div:

    HTML-Quellcode

    1. FordernPlündernEinheitenHandelnInfo


    Keine Ahnung wie man das besser formatiert :P


    Gibt es eine Möglichkeit einen Click auf ein Area Element auszuführen?

    Grüsse und Danke für die Hilfe

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

    Hallo zusammen

    Also ich habe nun mal mit Firebug und Firefox versucht herauszufinden was passiert, wenn ich auf das Div Element klicke.

    Also das hier ist der Code dazu:

    HTML-Quellcode

    1. <area shape="circle" coords="660,201,32" href="#">


    Grüsse Roger
    Also

    Es geht um ein Browsergame, namens Grepolis (grepolis.de).
    Da gibt es eine Weltkarte auf der hat es Bauerndörfer, alle 10 Minuten kann man von denen Ressourcen fordern.

    Nun ja beim klick auf das Bauerndorf öffnet sich eine kleine übersicht, ohne jegliche kommunikation mit dem Server also Client bassiert. Darin klickt man auf wiederum eine Area, welches ein weiteres Fenster öffnet. Wenn man dieses Fenster öffnet wird mit dem Server kommuniziert.

    Nun kann man in diesem Fenster den Button Fordern drücken. Hier habe ich die Java Script function gefunden dazu.
    Schaut es euch mal an, wäre echt spannend das zu automatisieren.

    Grüsse Roger
    Müsste man sich halt anmelden->Werde ich nicht tun...

    Jedoch könntest du die JavaScript-Funktion follgendermaßen aufrufen:

    VB.NET-Quellcode

    1. WebBrowser.Document.InvokeScript("javascriptFunktion()")
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    Bang schrieb:

    Ein DIV Element kannst du eigentlich eh nicht anklicken, weil es im Browser selbst dafür kein Event gibt. Zb hier im Forum sind auch ne menge Div Elemente, die sind aber nur zum Aussehen und formatierungen. Finde den Javascript teil heraus, dann ist das realisierbar.

    Natürlich kann man ein DIV anklicken, jedem HtmlElement kann man die Events zuordnen onclick, onmousemove, usw.


    Aber ich nehme mal an, da es ein Browser Game ist und die natürlich Cheaten verhindern wollen, haben sie schon mechanismen ausgedacht das es eben schwierig ist mit solch einem einfachen Code das selbe zu bewirken wie mit einem echten Mausklick. Selbiges gilt bei Facebook, da haben die "Like" Links z.b. auch scheinbar kein Handle, also das sind keine A-Tags und die HtmlElemente haben auch kein onclick-Event und trotzdem wirds als Link erkannt und wenn man drauf klickt wird ein Code ausgeführt. Da gibts schon ausgefeilte mechanismen und die sind zum teil äußert schwierig manuell auszuführen. Das einfachste wäre dann wohl mit der mouse_event API einen Klick zu simulieren.