1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Python Browsergame Bot mit eingebettetem browser - welche 'tools'?

Dieses Thema im Forum "Main Forum" wurde erstellt von elajdsha, 31. Oktober 2017.

Schlagworte:
  1. elajdsha

    elajdsha New Member

    Registriert seit:
    31. Oktober 2017
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hey Leute, ich möchte einen Browsergame-Bot in Python schreiben.
    Der Browser soll eingebettet in das GUI sein.
    Zusätzlich zur Möglichkeit automatisierte Tasks über das Gui zu steuern, soll man ganz normal manuell in dem Browserfenster spielen können.
    Das ganze soll natürlich einem normalen User immitieren und am besten nicht aufspürbar sein. Also am besten der treiber eines gängigen Webbrowsers (z.B. Chrome, Firefox, IE). Und die Möglichkeit das Auslesen der Daten und die automatische Eingabe (Klicks, Tasten) so Menschenecht wie möglich zu gestalten.
    Das Brosergame ist soweit ich weiß in HTML5 und Javascript geschrieben. Es muss also die Möglichkeit gegeben sein, dynamischen content auszulesen und damit zu interagieren.

    Probiert habe ich schon Selenium + Chromedriver. Damit habe ich schon so einiges hinbekommen. Nachteil ist, es ist schnell entdeckt, und es wird ein neues Browserfenster geöffnet. Mein Bot soll nur in einem einzigen Fenster laufen und komplett eigenständig sein. zusätzlich soll er minimierbar sein und trotzdem weiter laufen.

    Nach etwas recherche bin ich dann auf CEF Python gestoßen. In verbindung mit diesen toolkits (wxPython, PyQt, PySide, Kivy, Panda3D, PyGTK, PyGObject, PyGame/PyOpenGL, PyWin32) soll man da einiges machen können.

    bin ich da auf dem richtigen weg? oder gibts bessere tools um sowas zu verwirklichen?
    ich bin noch recht neu in der programmierwelt und will mich ungern in sachen einarbeiten, die am ende nur zeitverschwendung waren.
    Würde mich sehr über hilfe freuen :) danke.
     
  2. Mastodon

    Mastodon New Member

    Registriert seit:
    1. Juli 2017
    Beiträge:
    16
    Zustimmungen:
    24
    Punkte für Erfolge:
    3
    Geschlecht:
    männlich
    Hi!
    Schon an eine Erweiterung für CEF gedacht?
    Erweiterungen für Chrome bzw CEF lassen sich in HTML5, CSS und JS schreiben, aber es geht auch mit Umwegen in Python.

    Ein Vorteil ist, dass die Methode sehr unauffällig ist und es erfüllt sonst alle deine Anforderungen (Tasks, User kann spielen, minimierbar, eigenständig).
     
    krusty gefällt das.
  3. w33dt4k3r

    w33dt4k3r Member

    Registriert seit:
    5. Juli 2017
    Beiträge:
    67
    Zustimmungen:
    20
    Punkte für Erfolge:
    8
    Geschlecht:
    männlich
    Ort:
    NRW
    Ich könnte dir auch nur Selenium nennen, aber ich weis nicht ob es möglich ist dort Gui Elemente einzubetten.
    Das mit dem Boterkennung kann man mit etwas Arbeit "verhindern", da Selenium i.d.R. anhand vordefinierter Variablen erkannt wird.
    Soweit ich weis ist es ebenfalls möglich sich mit einer bereits offenen Chrome Instanz wiederzuverbinden, damit habe ich aber noch keine Erfahrung.

    Meiner Erfahrung nach ist es aber schwer Elemente "unentdeckt" anzuklicken wenn die Entwickler das verhindern wollen, da z.B. Selenium oder die FF.au3 etc Javascript im Browser ausführen.
    Das kann z.B. zum Problem werden, wenn ein Element angeklickt, aber nicht das onMouseover Event getriggert wird, oder wenn die Webseite Klicks mit isTrusted() überpüft.
    zu isTrusted() : https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted
    Um welches Spiel geht es denn?

    LG
     
    krusty und Mastodon gefällt das.

Diese Seite empfehlen

Die Seite wird geladen...