Möchte einen Autoit Bot für ein Browsergame schreiben. Mit welchem Befehl, kann ich ein Javascript nach etwas durchsuchen und das dann anklicken?

2 Antworten

Was sind denn die FF-Befehle?

Du solltest das Markup der Seite analysieren, über die du parsen möchtest. Schließlich musst du erst den Itemtitel finden und danach den zugehörigen Button zum Kaufen.

Als Hilfe solltest du jQuery nehmen. So kannst du einfacher Elemente des DOM selektieren. Den Klick kannst du einfach simulieren, indem du das click-Event des Elements aufrufst.

Wenn du mit JavaScript allerdings nicht vertraut bist, dann lerne erst zumindest die Grundlagen der Sprache sowie du das DOM manipulieren kannst.

Vielen Dank für deinen rasche Antwort :D

Das sind ein paar AutoIT-Befehle mit denen man recht einfach Aktionen in Firefox ausführen kann, z.b. iwas anklicken oder einen Optionselect auswählen, etc.

Bin generell ziemlich neu was Programmieren angeht, lerne grade C, aber mit Java hatte ich leider noch nie näher was zu tun. ^^´ Wie genau kann ich jQuery denn verwenden? bzw. kennst du ein gutes Tutorial?

0
@Spiegelfechter

Mit Java wirst du auch bei jQuery nicht konfrontiert werden, denn dies ist ein JavaScript-Framework. JavaScript hat gar nichts mit Java zu tun, es sind 2 völlig unterschiedliche Programmiersprachen.

Einen Einstieg in JavaScript und jQuery findest du auf den jeweiligen Seiten der Hersteller.

Nimm dir für JavaScript wirklich die Zeit, denn deine gestellte Aufgabe ist für Anfänger eigentlich noch nicht wirklich geeignet, vorausgesetzt, es soll gut werden.

0

Hi Spiegelfechter,

First of all, willst du das in AutoIT oder in JavaScript machen? Wenn AutoIT, dann kannst du JQuery vergessen. :( Falls du dass aber mit JavaScript machen möchtest, dann antworte mir nochmal kurz, und ich münze diese Antwort auf JQuery (oder PureJavaScript) um. Hier aber erst mal nur die AutoIT Variante.

Jede Website besteht aus Quellcode. Dieser Quellcode ist bei Spielen oder bekannten Websiten meist in einer Zeile zusammen komprimiert, jedoch kannst du in vielen Browsern mit F9, STRG-F9 oder STRG-SHIFT-I (oder Rechtsklick -> Element untersuchen) den Quellcode schön ordentlich dargestellt betrachten. Meist existiert hier auch eine hervorhebe Option, mit der du ein Element anklicken kannst und der Editor dann direkt zu diesem Element in dem Quellcode springt.

Hier musst du dir die Elemente nun ansehen. Was haben die Elemente gemeinsam? Worin erkennt man, ob ein Element ausverkauft ist?

Häufig spiegelt die ID des Elementes das Element selber wieder. So kannst du jedes Element unterscheiden. Es muss aber nicht so sein! Hier ist einfach Scharfsinn und ausprobieren gefragt.

Das Element selber kannst du dann in AutoIT und FF mit dem Befehl _FFClick anklicken. Hier musst du dann deinen eigenen Suchergebnisse einsetzen:

_FFClick("shop_item35", "id")

In diesem Beispiel klicke ich das Objekt in dem Quelltext an, welches die id=shop_item35 hat. Alternativ kannst du auch zum Beispiel dir die Klassen anschauen. Vielleicht hat jedes Shop-Element die selbe Klasse? Dann klicke das 35 Shop_element an:

_FFClick("shop_image", "class", 35)

Mehr Informationen dazu findest du hier: http://german.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFClick.php

Das Auslesen der Daten ist leider nicht so einfach. Hier gibt es zwar die Methode _FFReadHTML(), jedoch gibt diese uns den kompletten Quelltext wieder. Hier muss man also irgendwie den Quelltext eingrenzen.

Mir haben die Befehle _StringBetween() und StringTrimLeft() / StringTrimRight() geholfen. Mithilfe von StringBetween kannst du den Text zwischen zwei Passagen herausfiltern, während du mit TrimLeft oder Right vorne und hinten noch Reste wegschneiden kannst. Wenn du Arrays schon kennst, kannst du dir diese Befehle mal ansehen.

Falls Probleme auftreten, antworte einfach nochmal auf diese Antwort. Ich versuche dann, dir beim Problem lösen zu helfen.

LG Lennard

(Und sorry, wenn ich etwas zu viel über HTML geredet habe...)

Discord.js Javascript findet ihr den Fehler?

	 if(message.content.startsWith(prefix + "HappyBirthday")) {
		 const embed = new Discord.RichEmbed()
		.setColor(0x00ffff)
		.setDescription ("Happy Birthday! :birthday: ")
		message.channel.send({embed})
      message.channel.sendFile("./HB.gif");
      return; 
  };

Kann mir wer sagen was darin falsch ist? Ich bekomme folgende Fehlermeldung:

C:\Users\tunca\Desktop\T-R.de\Tafelrunde-Bot>node app.js
C:\Users\tunca\Desktop\T-R.de\Tafelrunde-Bot\app.js:54
                }
                ^

SyntaxError: missing ) after argument list     at new Script (vm.js:51:7)     at createScript (vm.js:136:10)     at Object.runInThisContext (vm.js:197:10)     at Module._compile (module.js:613:28)     at Object.Module._extensions..js (module.js:660:10)     at Module.load (module.js:561:32)     at tryModuleLoad (module.js:501:12)     at Function.Module._load (module.js:493:3)     at Function.Module.runMain (module.js:690:10)     at startup (bootstrap_node.js:194:16)

C:\Users\tunca\Desktop\T-R.de\Tafelrunde-Bot>PAUSE Drücken Sie eine beliebige Taste . . .

Danke :)

...zur Frage

Computer herunterfahren mit .bat Datei

wie heißt der "befehl"? also wie start x oda so.

...zur Frage

Suche Programm, welches abläufe nachmachet?

Hallo zusammen,

ich suche ein Programm oder Tool mit dem ich bestimmte Abläufe (Mausbewegungen & klicks) sowie Aktionen (Tastenanschläge oder Funktionen) "aufnehmen" und erneut abspielen kann.

Desweiteren sollte es möglich sein, mehrere verschiedeme "Aufnahmen" hintereinander zu setzen.

Es sollte ein eigenständiges Programm sein und kein BrowserApp. Wäre auch cool, wenn es eine Funktion oder ein plug-in für AutoIT gäbe, mit dem man quasi etwas aufnehmen kann und es einem danach als script angezeigt wird.

Mfg

...zur Frage

Kann man einer selbstprogrammierten .exe Datei ein Icon zuweisen?

Hi,

Habe mit AutoIt ein Programm geschrieben und in eine .EXE Datei umgewandelt. Jetzt möchte ich ihm aber ein Icon zuweißen (nicht ändern, dann es ist ja noch keines vorhanden!). Weiß jemand von euch wie das geht?

...zur Frage

Autoit Bot klickt nicht in Metin2

hi @ all..

ich habe mir neulich ein kleines autoit script gemacht.. Auf dem desktop funktioniert es wie es soll.. nur eben nicht in metin2^^

Was soll der Bot können?:

Er soll eigentlich nur nach einem Farbcode im Inventar suchen, dieses Item anklicken und wegwerfen..

Ich benutze Win8.. liegt es vllt daran? habe ich nur nen groben reisser drinnen?

Schaut es euch einfach an^^ vllt kann mir da jemand helfen^^ wäre top..

Das total simple Script xD:

HotKeySet("{f6}","_Exit")

Sleep(5000)
while 1
    $variable = PixelSearch (1116, 389, 1271, 677, 0xB05403)
    if IsArray($variable) = True Then
        MouseMove($variable [0], $variable [1], 1)
        Sleep(500)
        MouseClick("left", $variable)
        Sleep(100)
        MouseClick("left", 828, 514)
        Sleep(100)
        MouseClick("left", 618, 405)
        Sleep(100)


    EndIf
WEnd

Func _Exit ()
    Exit
    EndFunc

PS: das ganze in 1280x720 32bpp

Ich danke schonmal im vorraus^^ LG CreamCrash

...zur Frage

Javascript Seite ausgrauen?

Wie kann ich mit Js, Html und css die Seite ausgrauen und eine Nachricht anzeigen, während man auf der Seite nichts anklicken kann? Ist für ein Browsergame ne Art Ladescreen. Danke!

...zur Frage

Was möchtest Du wissen?