moin,
ich hab einen normalen firefox installiert und einen firefox portable.
ff.au3 soll jetzt den portable benutzen und nicht den normalen.
wie mache ich das?
mfg X
moin,
ich hab einen normalen firefox installiert und einen firefox portable.
ff.au3 soll jetzt den portable benutzen und nicht den normalen.
wie mache ich das?
mfg X
Hallo,
du stellst bei FF-portable/MozRepl eine andere Port-Nummer ein und gibst diese bei _FFConnect bzw. _FFStart an.
Viele Grüße
Stilgar
aber dann versucht das script doch auf ein port zu verbinden das noch gar nicht offen ist da der firefox portable doch gar nicht läuft.
müsste ich da nicht irgendwo ne pfadangabe setzen können?
Stimmt _FFStart geht damit nicht.
Eine Pfadangabe kannst du nirgends setzen.
Starte FF einfach per Run evtl. mit dem MozRepl-Parameter "-repl Portnummer" z.B.:
Run("z:\firefox.exe -repl 4040)
Anschließend eine Schleife die wartet bis FF sicher gestartet ist und dann mit _FFConnect verbinden.
Einfach mal die Funktion __FFStartProcess in der FF.au3 ansehen.
Stimmt _FFStart geht damit nicht.
Eine Pfadangabe kannst du nirgends setzen.Starte FF einfach per Run evtl. mit dem MozRepl-Parameter "-repl Portnummer" z.B.:
Run("z:\firefox.exe -repl 4040)
Anschließend eine Schleife die wartet bis FF sicher gestartet ist und dann mit _FFConnect verbinden.
Einfach mal die Funktion __FFStartProcess in der FF.au3 ansehen.
danke schön, hätte gedacht im ff script ist dafür ne funktion aber so geht es ja auch super. aber eine frage noch wie überprüfe ich am besten ob der FF gestartet ist? einfach mit einer schleife mit?
[autoit]_FFIsConnected()
[/autoit]_FFIsConnected funktioniert nur nach einem _FFConnect oder _FFStart und prüft ob schon eine Verbindung hergestellt wurde.
Ob FF schon läuft mußt du anderst testen (wie eben z.B. in __FFStartProcess).
Irgendwas in der Art wie:
; ....
Func _Start()
Local $PID = Run("z:\firefox.exe -repl 4040")
Local $iTimeOutTimer = TimerInit()
While 1
Sleep(2000)
If ProcessExists($PID) Then ExitLoop
If (TimerDiff($iTimeOutTimer) > $iTimeOut) Then
ConsoleWrite( "Error: Browser process not exists: " & "firefox.exe " & $PID)
Return 0
EndIf
WEnd
Sleep(1000)
Return 1
EndFunc
; ...
Alles anzeigen_FFIsConnected funktioniert nur nach einem _FFConnect oder _FFStart und prüft ob schon eine Verbindung hergestellt wurde.
Ob FF schon läuft mußt du anderst testen (wie eben z.B. in __FFStartProcess).
Irgendwas in der Art wie:
Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]
; ....
Func _Start()
Local $PID = Run("z:\firefox.exe -repl 4040")Local $iTimeOutTimer = TimerInit()
[/autoit]
While 1
Sleep(2000)
If ProcessExists($PID) Then ExitLoop
If (TimerDiff($iTimeOutTimer) > $iTimeOut) Then
ConsoleWrite( "Error: Browser process not exists: " & "firefox.exe " & $PID)
Return 0
EndIf
WEnd
Sleep(1000)
Return 1
EndFunc
; ...
wunderbar! Es geht jetzt genau so wie ich es haben wollte. hab jetzt einen Firefox zum surfen und einen für autoit.
Vielen dank für deine hilfe und das ff.au3 script!
Das selbe habe ich eben auch versucht.
Das AutoIt-Scipt mit dem portablen Firefox läuft super.
Wenn ich währenddessen aber meinen installieren Firefox starten möchte, bekomme ich vom Browser die Fehlermeldung, dass Firefox bereits gestartet wurde.
Gibt es dafür vielleicht eine Lösung?
Starte den portablen FF immer mit --no-remote:
http://kb.mozillazine.org/Opening_a_new_…another_profile
Dankeschön, funktioniert super