genial, danke, werd ich später nach Training sofort testen!
Beiträge von stiffn
-
-
Ich glaube ihr redet gerade aneinander vorbei.
Ich verstehe stiffn so:
Er will in dem 1. Skript OI durchlaufen lassen. Dabei wird die extern.au3 als unnötig angesehen.
Du solltest diese Datei im includes-Ordner ablegen, dann wird diese auch korrekt erkannt.
Wenn diese Datei im gleichen Ordner wie das Hauptskript liegt bin ich mir nicht sicher, ob sie erkannt wird.danke, werde ich testen
Edit: nein - Andy hat schon recht, nur hab ich es mit meinem derzeitigen Kenntnissen nicht ganz verstanden.
Wenn ich _exFunktionB() alleine in eine Zeile schreibe wird das auch von OI richtig erkannt und die extern.au3 als Notwendigen Include vermerkt.Verstehe nur noch nicht ganz wieso
[autoit]
[/autoit]
GUICtrlCreateButton("Konnektor", 10, 60, 100, 40)
GUICtrlSetOnEvent(-1, "_exFunktionB")keine "echter" aufrufe der Funktion ist, sondern nur Text, wiederum das ganze dann doch funktioniert wenn ich den Button klicke?!
-
@ Andy:
hab es nicht als frage aufgefasst sondern eher ein wenig wie eine anmache...bin halt noch sehr neu in autoit.
für mich ist der Button Konnektor mit einer Funktion belegt.
[autoit]
[/autoit][autoit][/autoit][autoit][/autoit]
GUICtrlCreateButton("Konnektor", 10, 60, 100, 40)
GUICtrlSetOnEvent(-1, "_exFunktionB") -
ok, eben klickterts
-
für mein Verständnis:
OI kann also nur direkte aufrufe von Funktionen erkennen. Wenn diese durch ein Ereignis wie z.b. das drücken eines Buttons ausgelöst werden, werden diese nicht berücksichtigt?! -
oh, sorry - falsche version kopiert:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <extern.au3>Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]GUICreate("Fenster Test", 500, 300, -1, -1)
[/autoit][autoit][/autoit][autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUICtrlCreateButton("Knopf", 10, 10, 100, 40)
GUICtrlSetOnEvent(-1, "_Knopf")
GUICtrlCreateButton("Konnektor", 10, 60, 100, 40)
GUICtrlSetOnEvent(-1, "_exFunktionB")
$Input1 = GUICtrlCreateInput("Input", 10, 110, 100, 20)GUISetState()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit]
Sleep(100)
WEnd
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <FF.au3>$exText = "bla bla"
[/autoit][autoit][/autoit][autoit]Func _Exit()
[/autoit][autoit][/autoit][autoit]
Exit
EndFuncFunc _Knopf()
[/autoit][autoit][/autoit][autoit]
MsgBox(64, "Text", "Lääääuft " & GUICtrlRead($Input1) & $exText)
EndFuncFunc _exFunktionA()
[/autoit][autoit][/autoit][autoit]
MsgBox(64, "ExFunk", "Erfolgreich")
EndFuncFunc _exFunktionB()
[/autoit]
_FFConnect()
If _FFIsConnected() Then
_FFOpenURL("www.web.de")
EndIf
EndFunc -
Hallo
ich habe mir mal OrganzizeIncludes zugelegt, was bei mir nur Teilweise sauber arbeitet.
[autoit]
Habe zwei Skripts, das erste für die GUI:
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <extern.au3>Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]GUICreate("Fenster Test", 500, 300, -1, -1)
[/autoit][autoit][/autoit][autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUICtrlCreateButton("Knopf", 10, 10, 100, 40)
GUICtrlSetOnEvent(-1, "_Knopf")
GUICtrlCreateButton("Konnektor", 10, 60, 100, 40)
GUICtrlSetOnEvent(-1, "_exFunktionA")
$Input1 = GUICtrlCreateInput("Input", 10, 110, 100, 20)GUISetState()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit]
Sleep(100)
WEndDas zweite beinhaltet die Funktionen für die Buttons
[autoit]
[/autoit][autoit][/autoit][autoit]
$exText = "bla bla"Func _Exit()
[/autoit][autoit][/autoit][autoit]
Exit
EndFuncFunc _Knopf()
[/autoit][autoit][/autoit][autoit]
MsgBox(64, "Text", "Lääääuft " & GUICtrlRead($Input1) & $exText)
EndFuncFunc _exFunktionA()
[/autoit]
MsgBox(64, "ExFunk", "Erfolgreich")
EndFuncWenn ich nun OI drüber laufen lasse, zeigt es mir im Skript mit der GUI an, das ich "#include <extern.au3>"
nicht brauche...Jemand eine Idee ?
-
habe wieder eine frage, es geht um einen Wert den ich auslesen und dann ausgeben/anzeigen möchte.
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <FF.au3>_FFConnect()
[/autoit][autoit][/autoit][autoit]If _FFIsConnected() Then
[/autoit][autoit][/autoit][autoit]
_FFOpenURL("http://www.finanzen.net/index/DAX")
;MsgBox(64, "Wert", _FFXPath("//*[@id='mainWrapper']/div[7]/div[1]/div[2]/div[2]/table[1]/tbody/tr/th[1]"))$test1 = _FFXPath("//*[@id='mainWrapper']/div[7]/div[1]/div[2]/div[2]/table[1]/tbody/tr/th[1]")
[/autoit][autoit][/autoit][autoit]MsgBox(64, "Wert", $test1)
[/autoit][autoit][/autoit][autoit]EndIf
[/autoit]Die MsgBox gibt folgendes aus:
OBJECT|FFau3.xpathIn der MsgBox soll aber der Wert ausgegeben werden welcher auf der Internetseite unter dem xpath zu finden ist.
-
Hallo,
so zum Beispiel:
[autoit]
[/autoit]
_FFSetValue ("Test", "teilnehmer", "id") ; hier muss id oder das ganze Element angegeben werdenoder
[autoit]
[/autoit]
$sObj = _FFXPath("//*[@id='teilnehmer']", "", 9)
_FFObj($sObj, "value", "Test")oder
[autoit]
[/autoit]
_FFXPath("//*[@id='teilnehmer']", "", 9)
_FFObj('xpath.value="Test"')oder auch
[autoit]
[/autoit]
$sObj= _FFObjGet("teilnehmer", "id") ; returns a string - no object!
_FFObj($Obj, "value", "Test")Grüße
StilgarGenial - funktioniert - versuche mir noch ein wenig zu erschließen was "unter der haube" passiert, aber des wird hoffentlich noch
Vielen Dank!
-
Guten Morgen
Ich bastle nun seit ein paar Tagen mit AutoIT und seit gestern mit FF.au3.
Ich habe folgendes "Problem" bzw verstehe die funktion FFXPath noch nicht richtig.
Was ich machen möchte:
Das Script soll auf die Website der Commerzbank Deutschland. Dort angekommen soll oben das Login-Feld ausgefüllt werden mit Benutzer und Passwort.Ich habe zuerst versucht mit _FFSetValue die Felder auszufüllen, was jedoch nicht klappt. Der Code:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <FF.au3>_FFConnect()
[/autoit][autoit][/autoit][autoit]If _FFIsConnected() Then
[/autoit][autoit][/autoit][autoit]
_FFOpenURL ("www.commerzbank.de")
Sleep (1500)_FFSetValue ("Test", "teilnehmer")
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Else
[/autoit][autoit][/autoit][autoit][/autoit]
MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
EndIfFunktioniert aber nicht.
Dann habe ich mit FirePath den XCode ausfindig macht und mit folgenden Code getestet:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <FF.au3>_FFConnect()
[/autoit][autoit][/autoit][autoit]If _FFIsConnected() Then_FFOpenURL ("www.commerzbank.de")
[/autoit][autoit][/autoit][autoit]
Sleep (1500)MsgBox(64, "Anzahl der BenutzerLogIns:", _FFXPath( "//*[@id='teilnehmer']", "", 10))
[/autoit][autoit][/autoit][autoit]Else
[/autoit]
MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
EndIfWas mir korrekt eine 1 zurück liefert als Wert (Es ist auch nur ein Feld vorhanden).
Meine frage ist nun wie ich nun das Feld befüllen kann?!
-
kann aber weiterhin Firefox nicht starten
folgender Code (aus Tutorial):
[autoit]
[/autoit]
#include <FF.au3> ; Muss immer da sein
_FFStart("www.web.de") ; oder _FFConnect() wenn FireFox bereits offen sein sollte! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen
If _FFIsConnected() Then ; Wenn FireFox nun verbunden ist, dann...
Sleep (1000) ; 1 Sekunde zum Verdeutlichen
_FFOpenURL ("www.google.de") ; Navigiert uns zu "www.google.de"
Sleep (1000) ; 1 Sekunde zum Verdeutlichen
_FFQuit() ; Beendet das Ganze wieder
Else ; Wenn FF nicht verbunden ist...
MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
EndIfergibt folgende fehlermeldung:
[autoit]--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
[/autoit]
__FFStartProcess ==> General Error: Error reading registry entry for FireFox.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe
Error from RegRead: 1
_FFIsConnected ==> Socket Error: -1
+>13:53:37 AutoIt3.exe ended.rc:0
+>13:53:37 AutoIt3Wrapper Finished.
>Exit code: 0 Time: 7.614 -
-
Hallo,
wie im Titel schon steht bekomme ich folgende Fehlermeldung:
__FFStartProcess ==> General Error: Error reading registry entry for FireFox.
wenn ich folgenden Code starte:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <FF.au3>_FFStart()
[/autoit]Der komplette Fehler block:
--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
__FFStartProcess ==> General Error: Error reading registry entry for FireFox.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe
Error from RegRead: 1
+>13:37:56 AutoIt3.exe ended.rc:0
+>13:37:56 AutoIt3Wrapper Finished.
>Exit code: 0 Time: 0.5954MozRepl ist installiert und aktiviert.
Wenn ich
[autoit]
[/autoit]
#include <FF.au3>
_FFConnect()kommt
[autoit]--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
[/autoit]
_FFConnect: OS: WIN_81 WIN32_NT 9600
_FFConnect: AutoIt: 3.3.12.0
_FFConnect: FF.au3: 0.6.0.1b-13
_FFConnect: IP: 127.0.0.1
_FFConnect: Port: 4242
_FFConnect: Delay: 2msund das Script bleibt stehen, bis ich es abbreche.