Der HTML-Quellcode sieht schon sehr verdächtig nach einem Online-Spiel aus - bitte korrigiere mich, wenn dem nicht so ist, da laut den Forenregeln Bots hier verboten sind.
Beiträge von Stilgar
-
-
V0.5.3.9b:
V0.5.3.9b
- Added: _FFImageMapClick($vArea[, $sModeArea = "index"[, $vMap = 0[, $sModeMap = "index"[, $bLoadWait = True]]]])
- Added: _FFImageClick: the searchstring is now searched in the attributes of the link and the image
- Added: _FFGetValue($sElement[, $sMode = "elements"[, $iIndex = 0[, $iFilter = 0]]])
- Added: _FFSetValue($sValue, $sElement[, $sMode = "elements"[, $iIndex = 0]])
- Added: Support for nested frames
- Added: Global Var $_FF_FRAME - holds the current frame as string
- Added: _FFImagesGetBySize: parameter $iPercent +/- tolerance in percent
- Added: _FFLoadWaitTimeOut, to change the global-timeout for _FFLoadWait
- Added: Global $_FF_LOADWAIT_TIMEOUT = 120000
- Added: _FFRecord* : Some functions recording (only a test)
- only for use between _FFConnect / _FFStart / _FFIsConnected and _FFDisConnect / _FFQuit
- the recorded functions are not the same like in your original script!!!
- Added: Global Var $_FF_RECORD - recording on/off
- Added: Global Var $_FF_RECORDED_CMD - recorded script
- Added: JavaScript: simulateEvent() / replaces simulateClick(), simulateKey(), fireEvent()
- Changed: _FFGetValueById and _FFGetValueByName now only wrappers for _FFGetValue
- Changed: _FFSetValueById and _FFSetValueByName now only wrappers for _FFSetValue
- Changed: Rebuild all frame-functions
- Changed: For recording: _FFLoadWait, _FFLinkClick, _FFXPath, _FFImageClick
- Changed: Limited timeout for _FFLoadWait to min. 1000ms
- Optimized: _FFTableWriteToArray - up to 100% faster
- Optimized: _FFAction, _FFLinkClick, _FFFormReset, _FFGetObjectInfo, _FFCmd, _FFWindowGetHandle, _FFObjGet
- Removed: _FFFrameGetSelected, __FFAddStatus, __FFRemoveStatus, __FFSetStatus, __FFGetStatus
- Removed: JavaScript: searchImageLink(), SearchLink(), simulateClick(), simulateKey(), fireEvent()
- Fixed: _FFImagesGetBySize: $sMode now case insensitive
- Fixed: _FFDispatchKeyEvent: by using the leading point as shortcut in elements
- Fixed: _FFAction("home")Viel Spaß damit!
-
Mal vom Teil-Forums-Thema ausgehend:
[autoit]#include <FF.au3>
[/autoit][autoit][/autoit][autoit]_FFConnect()
[/autoit]
$sSRC = _FFXpath("//a[name='1993904065']/img", "src", 9) -
Hallo,
selbst wenn es möglich wäre (was es wahrscheinlich ist), wäre das Resultat eher semioptimal, da eine Anfrage/Antwort von/zu AutoIt/FireFox ca. 10-20ms dauert, dazwischen kann man schon alle möglichen Requests "übersehen" haben.
Was genau möchtest Du denn erreichen? Vielleicht würde das auch anderst gehen.
Grüße
Stilgar -
Über Firefox gehts für mich nicht, weil für mich die komische FF.au3 nicht funktioniert.
Vielen Dank für diese ausführliche Fehlerbeschreibung! -
Hat sich das "Problem" denn noch nicht erledigt?
http://www.autoitscript.com/forum/index.php?showtopic=103418
-
@xanicel:
Hallo,
die Funktion in die FF.au3 reinzupacken ist etwas ungünstig, da nach einem Update der FF.au3 die Funktion wieder "weg" ist.
Speicher die am besten einzeln ins Include-Verzeichnis.Verwendet wird die Funktion wie jeder andere Befehl für die FF.au3, also zu erst eine Verbindung zu FF herstellen und dann die Funktion ausführen.
Du füllt also zuerst das Formular per Hand aus, läßt den Cursor in dem Formular stehen und führst dann folgendes Programm aus:
[autoit]#include <FF.au3>
[/autoit][autoit][/autoit][autoit]
#include <_FF_RecordForm.au3>_FFConnect() ; wenn FF schon läuft
[/autoit][autoit][/autoit][autoit]If _FFIsConnected() Then
[/autoit]
$sScript = _FF_RecordForm()
MsgBox(0,"", $sScript)
EndIfWobei das auf der Seite nicht zum gewünschten Ergebnis führt, allerdings folgendes:
[autoit]#include <FF.au3>
[/autoit][autoit][/autoit][autoit]_FFConnect() ; zu FF verbinden, wenn FF schon läuft
[/autoit][autoit][/autoit][autoit]If _FFIsConnected() Then ; wenn die Verbinung zu FF ok dann
[/autoit][autoit][/autoit][autoit]
_FFOpenURL("http://mobiledownloads.aol.de/klingeltane-logos/spotlight/63616-herbstfeeling") ; URL öffnen_FFClick("payment_option_3", "id") ; Premium SMS anklicken
[/autoit]
_FFSetValueById("creditcard_msisdn", "0170 12345678") ; die Mobilfunknummer
Sleep(3000) ; Pause damit du siehst was passiert
_FFFormSubmit("creditcard_form", "id") ; Formular absenden
EndIfGrüße
-
@simon:
Nun ja dies ist wohl war - und nicht nur MozRepl - man muß sogar FireFox installieren um ihn mit der FF.au3 nutzen zu können.MozRepl läßt sich auch automatisch installieren, das ist wohl ein eher nebensächliches Problem.
Da frag ich mich was wohl passiert wenn MS ihren IE aus zukünftigen Win-Versionen verbannen muß - funktioniert die IE.au3 dann noch?
-
IE ist ja noch komplizierter
Schau Dir mal für die FF.au3 diese Funktion an:
https://autoit.de/index.php?page=Thread&threadID=14452
damit füllst einfach mal per Hand das Formular aus, startest die Funktion und diese gibt dir ein Script zurück, das nötig ist um das Formular auszufüllen.Oder das Script mit dem "FF-Page-Analyzer" zusammenklicken (siehe Sig)
-
"Helpfile" gibt es mehr als genug:
http://java.sun.com/javase/reference/index.jspFür "MsgBox" mal da nachsehen:
http://java.sun.com/j2se/1.3/docs/…OptionPane.html
ergibt z.B.: -
-
Wie peethebee schon sagte, einfach in der Registry:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path]
deinen Pfad anfügen.Wird vermutlich erst nach einem Neustart wirksam. Aber du kannst zusätzlich noch per EnvGet/EnvSet den Pfad nochmals setzen.
-
_ArrayDisplay ist ja folgendermaßen aufgebaut:
Func _ArrayDisplay(Const ByRef $avArray, ....
ByRef, damit mit dem übergebenen Array direkt gearbeitet wird und nicht mit einer Kopie - geht schneller und spart Speicher
Const, in dem Fall wird das Array ja nicht mehr verändert, also kann (und wird) vermutlich der Interpreter bzw. Kompiler "$avArray" bzw. dessen Adresse (oder den Wert bei normalen Variablen) an den darauf folgenden Verwendungs-Stellen ersetzen.
Der Wert des Arrays ändert sich bei dieser Funktion nicht.
Würde es geändert und ByRef übergeben, wird das Ursprungs-Array verändert. -
-
Zitat
Bei C++ hat ich das, kann das sein? (Hab jetzt die uralten Sourcen von mir nicht zur Hand)
Nicht nur bei C++ - C, Java, JavaScript, php - allerdings die meisten anderen Sprachen haben sowas nicht.
Python hat gar keinen switch/select, außer eben diese Emulation über dict.get()Zu deinem "Case" Problem:
Leider ist nicht zu sehen was als nächtest Case kommt, aber ich tippe mal, daß anstelle diesen ContinueCase Funktionsaufrufe besser währen, anstatt zu viel Funktionalität in den Message-Loop einzubauen und ContinueCase als Pseudo-Goto zu verwenden. -
Ja, sowas wie ExitLoop, nur mit Switch. In der Hilfe von ExitLoop steht:
"Beendet eine While-, Do- oder For-Schleife." Und wenn ich einen Case beenden und zum Ende dieses Case springen will? Muss ichn Loop drum bauen ums Switch um dann aus diesem zu springen?
1) Warum? Wenn eine Bedingung erfüllt ist, ist Switch/Select nach diesem Case eh beendet.(Nicht evtl. durch andere Sprachen irritieren lassen, bei denen man bei Case noch ein Break braucht um nicht in das nächste Case "reinzulaufen" - verwirrt mich bei Basic-Dialekten, wie AutoIt, auch immer wieder ... )
2) Ja - also alles, das ein Ausführen des Programmes verhindert.
3) Noch nie? Bau mal gezielt einen Syntax-Fehler ein, kompilier das Programm und starte es, dann siehst du sicher eine Meldung, daß in "line -1" was nicht stimmt.
4) was genau meinst du?
5) Das ist einfach nur ein Beispiel wie man eine Zeile AutoIt-Code direkt über die AutoItExe ausführen kann, wobei das aus einem AutoIt-Programm heraus (natürlich) sinnfrei ist.
Eine Anwendungsmöglichkeit wäre z.B. in einer Batch-Datei und selbst da kommt man mit einem Einzeiler auch nicht weit ... -
Habe die Funktion in die aktuelle Testversion eingebaut:
https://autoit.de/index.php?page…3622#post113622 -
Hallo,
ups das ist ja erschreckend wie schlecht KNOW-HOW-PROTECT "arbeitet" - kann ich es ja gleich weglassen und alles in "hoch optimierter " AWL reintackern, das ist dann besserer Know-How Schutz
Dennoch danke
-
Eine immer noch mit Vorsicht zu genießende Testversion: V0.5.3.9b-7
http://thorsten-willert.de/Themen/FFau3/Testversion/FF.au3
- Added: _FFImageMapClick($vArea[, $sModeArea = "index"[, $vMap = 0[, $sModeMap = "index"[, $bLoadWait = True]]]])
- Added: _FFGetValue($sElement[, $sMode = "elements"[, $iIndex = 0[, $iFilter = 0]]])
- Added: _FFImagesGetBySize: parameter $iPercent +/- search-tolerance in percent for $sMode = "eq"
- Changed: _FFGetValueById and _FFGetValueByName now only wrappers for _FFGetValue
- Optimized: _FFTableWriteToArray - up to 100% faster
- Removed: _FFFrameGetSelected, __FFAddStatus, __FFRemoveStatus, __FFSetStatus, __FFGetStatus
- Fixed: _FFImagesGetBySize: $sMode now case insensitive
Die Dokumentation werde ich mit der nächsten "offiziellen" Version wieder anpaßen - ist leider mehr Arbeit als das Programmieren.
jEdit4AutoIt: Syntax-highlighting, XInsert, Autovervollständigung usw. werden durch das Macro "AutoIt/Update UDFs" angepaßt.
SciTe: Die Calltips-Dateien werden erst mit Update der Dokumentation neu generiert:
http://thorsten-willert.de/Themen/FFau3/Verschiedenes/files -
Na gut werd ich mal reinbasteln, ist ja nicht viel.
Bleibt noch die Frage nach dem Funktionsaufruf - Vorschlag:
[autoit]_FFImageMapClick( $vArea, $sModeArea, $vMap = 0, $sModeMap = "index")
[/autoit]sModeMap = id | name | index | class? | title
sModeArea = id | name | index | class? | href | title | alt | coordsmehr braucht man ja nicht, oder habe ich was übersehen? Sonderfälle kann man immer noch per XPath erfassen.
Der Bezug auf das eigentliche Bild ist auch nicht nötig, da dieses per "usemap" eh auf den map-Abschnitt verweist.----
Nächste Frage:
Sollen Server-seitige Image-Maps auch unterstützt werden? -
Die Zahlen sind aber wegen was anderem verrutscht !
Das erste Element in einem Array ist [0]Wie wollt ihr das abfragen wenn $i = 1 und Step =+1 ist?
[autoit]
Gar nicht.
Der Anfang bei 1 resultierte aus dem Beispiel im ersten Beitrag:For $i = 1 to 9 Step +1
[/autoit]
$buttonsArray[$i] = GUICtrlCreateButton(" " & $i & " ",$x,$y)@pete_gzome:
Dieses Switch mit nur einem Case ist das gleiche wie If ... Then, siehe Beispiel:
[ gelöst ] Schleife bei Select/Case?
nur extrem umständlicher.