Das wars?
Dann wird keine Verbindung zu MozRepl hergestellt.
Wenn MozRepl läuft steht in FireFox-Extras-MozRepl "Stop".
Oder blockiert eine FireWall den Verkehr an localhost?
Beiträge von Stilgar
-
-
Ja ok. Wenn du es aus dem Editor heraus startest:
Was seht in der Console deines Editors? Dort wird die Kommunikation zwischen dem Skript und FireFox ausgegeben und daran, kann man auch erkennen, was, warum nicht geht. -
Du bist auf Autoit.de wenn du das Script ausführst? Bzw. die Seite wird auch in FireFox angezeigt?
Was steht denn in der Console deines Editors? -
Laß mich raten? Diese Seite nicht gelesen?
https://autoit.de/index.php?page=Thread&threadID=3629Du mußt wahrscheinlich, MozRepl noch installieren:
http://repo.hyperstruct.net/mozrepl/0.2/mozrepl.xpiund starten (FireFox Extras/MozRepl) und / oder gleich gestartet lassen mit "Activate on Startup".
Grüße
Stilgar -
Hat ja nix mit dem Browser selbst zu tun, nur ohne FF-UDF oder IE-UDF wirds halt recht umständlich. Wie es mit dem FireFox geht, hab ich oben schon mal gezeigt.
Welchen du dann im Endeffekt nimmst bleibt sich (noch) ziemlich gleich. -
Da wirst du in FireFox wenig Erfolg haben den Text für das Suchen Feld zu erkennen. Die Oberfläche besteht nicht aus den Windows üblichen Controls.
Suchen geht da doch einfacher über die FF-UDF.Außer du möchtest alles über Send machen, aber dann wirds umständlich.
-
Ein kleines Nebenprodukt - beim Rumspielen mit Google-APIs entstanden.
Vielleicht kann es ja jemand gebrauchen:Spoiler anzeigen
[autoit]#include <_FF_YouTube_API.au3>
[/autoit] [autoit][/autoit] [autoit]If _FFConnect() Then
[/autoit] [autoit][/autoit] [autoit]
_FFTabAdd("http://www.youtube.com/watch?v=T-99HbI8zec")If _FF_YT("loadWait") Then
[/autoit] [autoit][/autoit] [autoit]
_FF_YT("playVideo")
Sleep(10000)
_FF_YT("pauseVideo")
_FF_YT("seekTo", 90)
Sleep(3000)
_FF_YT("setSize", 300)
MsgBox(64, "Video size in Bytes:", _FF_YT("getVideoBytesTotal"))
Sleep(5000)
_FF_YT("stopVideo")
EndIf_FFTabClose("YouTube - Fergie Ferg(.*?)-", "label")
[/autoit]
EndIf
Auf YouTube selbst funktionieren cueVideoById und loadVideoById nicht.Kann auch jede andere Seite steuern, die diese Google-API benutzt. Dafür muß evtl. die $sPlayerID angepaßt werden.
Viel Spaß damit!
Grüße
Stilgar -
Oder natürlich per LiveConnect ... wenn die Flash-Seite es ermöglicht.
-
Mouseclicks in einem Browser Fenster sind nicht gerade ein zuverlässiges Mittel um zum Ziel zu kommen.
Worauf soll z.B. denn geklickt werden?[EDIT]
[autoit]
Einfachstes Beispiel mit FF fürs Forum hier (ausloggen)#include <FF.au3>
[/autoit][autoit][/autoit][autoit]$Socket = _FFConnect()
[/autoit][autoit][/autoit][autoit]If $Socket > -1 Then
[/autoit]
If _FFSearch($Socket,"Angemeldet als") Then _FFClickLink($Socket,"Abmelden","text")
EndIf -
-
Erweitert um die automatische Installation von MozRepl:
Spoiler anzeigen
[autoit]msgbox(64, "", _MozRepl_Detector())
[/autoit] [autoit][/autoit] [autoit];===============================================================================
[/autoit] [autoit][/autoit] [autoit]
#cs
AutoIt Version: 3.2.12.1
Author: Thunder-man (Frank Michalski)Script Function: _MozRepl_Detector()
[/autoit] [autoit][/autoit] [autoit]
Description: Überprüft ein Firefox Profil auf die MozRepl Erweiterung und installiert diese im Bedarfsfall.
default: $Profil = "default"
Return values: True or False
V 1.0 ==> 15.09.2007
V 1.1 ==> 02.08.2008, updated by Stilgar (Thorsten Willert)
changed the path-macro to @AppDataDir
changed the ""-profil to "default"
V1.2 ==> 03.03.2009, updated by Stilgar (Thorsten Willert)
changed MozLab to MozRepl
V2.0 ==> 17.03.2009, added intall-option for MozRepl by Stilgar (Thorsten Willert)#ce
[/autoit] [autoit][/autoit] [autoit]
;===============================================================================; [Example]
[/autoit] [autoit][/autoit] [autoit]
;~ $Result = _MozRepl_Detector()
;~ MsgBox(4096, "Result", $Result)Func _MozRepl_Detector($sProfil = "default", $bInstall = True , $sXPI = "http://repo.hyperstruct.net/mozrepl/0.2/mozrepl.xpi")
[/autoit] [autoit][/autoit] [autoit]If $sProfil = "" Then $sProfil = "default"
[/autoit] [autoit][/autoit] [autoit]Local $sIni_Pfad = @AppDataDir & "\Mozilla\Firefox\"
[/autoit] [autoit][/autoit] [autoit]Local $var = IniReadSectionNames($sIni_Pfad & "\profiles.ini")
[/autoit] [autoit][/autoit] [autoit]
If @error Then
MsgBox(4096, "", "Error occurred, probably no Firefox INI file.")
Else
For $i = 1 To $var[0]
Local $Ini_ = IniRead($sIni_Pfad & "\profiles.ini", $var[$i], "Name", "Error")
If $Ini_ = $sProfil Then
Local $sPfad_folder = IniRead($sIni_Pfad & "\profiles.ini", $var[$i], "Path", "Eror") ;Profil Ordner
ExitLoop
EndIf
Next
EndIfIf $bInstall Then
[/autoit] [autoit][/autoit] [autoit]
Local $sHKLM = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox"
Local $sFFExe = RegRead($sHKLM & "\" & RegRead($sHKLM, "CurrentVersion") & "\Main", "PathToExe")
Local $sCommand = StringFormat('"%s" "%s"',$sFFExe, $sXPI)
EndIfIf StringLeft($sPfad_folder, = "Profiles" Then
[/autoit]
If FileExists($sIni_Pfad & $sPfad_folder & "\extensions\mozrepl@hyperstruct.net") Then
Return 1
Else
If $bInstall Then Return Run($sCommand)
Return 0
EndIf
Else
If FileExists($sPfad_folder & "\extensions\mozrepl@hyperstruct.net") Then
Return 1
Else
If $bInstall Then Return Run($sCommand)
Return
EndIf
EndIf
EndFunc ;==>_MozRepl_DetectorGrüße
Stilgar -
Kurzfristig eine neue Version, wegen ein paar Fehlern V0.4.1.2b:
- Added: _FFAction($Socket, "zoom", $iFactor)
- Added: _FFAction($Socket, "scrollX", $iPixel)
- Added: _FFAction($Socket, "scrollY", $iPixel)
- Changed: Removed the $iDelay parameter from _FFSearch
- Fixed: _FFAction($Socket,"blank")
- Fixed: _FFOpenURL when using in framesund ein paar neue Aktionen für _FFAction sind auch dabei.
Viel Spaß damit.
Grüße
Stilgar -
So pauschal würd ich das nicht sagen
[autoit]#include <FF.au3>
[/autoit][autoit][/autoit][autoit]_FFLoadWait()
[/autoit] -
Zoom z.B Faktor 1,5:
[autoit]_FFCmd('gBrowser.selectedBrowser.markupDocumentViewer.fullZoom=1.5;')
[/autoit][EDIT]
[autoit]
Mittlerweile ersetzt durch:_FFAction("zoom",1.5)
[/autoit] -
Update auf V0.4.1.1b:
Änderungen seit V0.4.0.6:
V0.4.1.1:
- New: _FFPrefGet(ByRef $Socket, $sName)
- New: _FFPrefSet(ByRef $Socket, $sName, $vValue)
- New: _FFPrefReset(ByRef $Socket, $sName)
- Added: _FFClick can now click on elements by class-name
- Added: _FFWriteHTML(ByRef $Socket[, $sHTML = ""[, $sMode = "body"]]) now can write the entire doc, too
- Changed: _FFQuit now returns immediately if $Socket = -1
- Changed: _FFFormCheckBox(ByRef $Socket, $vBox[, $bChecked = True[, $iBoxNameIndex = 0[, $sBoxMode = "index"[, $vForm = 0[, $sFormMode = "index"]]]]])
complete newV0.4.1.0:
- New: _FFWindowClose(ByRef $Socket[, $sSearch = ""[, $sSearchMode = "title"]])
- New: _FFWindowSelect(ByRef $Socket[, $sSearch = ""[, $sSearchMode = "title"]])
- New: _FFWindowOpen(ByRef $Socket[, $sURL = "about:blank"])
- New: _FFWriteHTML(ByRef $Socket[, $sHTML = ""])
- New: _FFClickXY(ByRef $Socket[, $iX = 0[, $iY = 0[, $bLoadWait = true]]])
- Changed: _FFReadHTML(ByRef $Socket[, $sMode = "body"[, $iFilter = 0]])
- Changed: Renamed _FFGetObject to _FFGetObjectInfo (because the result is no "object")
- Fixed: _FFTabExistsV0.4.0.7:
- Changed: _FFGetObject added "." as shortcut for window.content.document e.g. _FFGetObject($Socket,".forms[0]")
- Fixed: _FFGetObjectViel Spaß damit!
Grüße
Stilgar -
Nachdem das Ändern der FF Einstellungen per _FFSetGet etwas "mühselig" ist, hier ein Vorschlag für drei neue Funktionen,
den einzig wichtigen Parameter den man dafür braucht ist der Name der Einstellung, diese läßt sich aus "about:config" herauskopieren, alles andere (Datentyp usw.) übernehmen die Funktionen:_FFPrefSet: Setzt einen Wert (und überprüft gleichzeitig ob er gesetzt wurde)
_FFPrefGet: Ließt einen Wert nur aus
_FFPrefReset: Setzt die Voreinstellung für den EintragSpoiler anzeigen
[autoit]Func _FFPrefReset(ByRef $Socket, $sName)
[/autoit] [autoit][/autoit] [autoit]
If Not __FFIsSocket($Socket) Then
SetError(__FFError("_FFPrefReset", $_FF_ERROR_SocketError))
Return 0
EndIf
Local $iType = _FFSetGet($Socket, 'Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).getPrefType("' & $sName & '");')
If @error Then
SetError(1)
Return 0
EndIf
If $iType <> 0 Then
_FFSetGet($Socket, 'Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).clearUserPref("' & $sName & '");')
If Not @error Then Return 1
Else
SetError(__FFError("_FFPrefReset", $_FF_ERROR_NoMatch, "$sName: " & $sName))
EndIf
Return 0
EndFunc
; ------------------------------------------------------------------------------
Func _FFPrefGet(ByRef $Socket, $sName)
If Not __FFIsSocket($Socket) Then
SetError(__FFError("_FFPrefGet", $_FF_ERROR_SocketError))
Return 0
EndIfLocal $sCommand
[/autoit] [autoit][/autoit] [autoit]
Local $iType = _FFSetGet($Socket, 'Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).getPrefType("' & $sName & '");')
If @error Then
SetError(1)
Return 0
EndIfSwitch $iType
[/autoit] [autoit][/autoit] [autoit]
Case 0
SetError(__FFError("_FFPrefGet", $_FF_ERROR_NoMatch, "$sName: " & $sName))
Return 0
Case 32 ; PREF_STRING
$sCommand = "getCharPref"
Case 64 ; PREF_INT
$sCommand = "getIntPref"
Case 128 ; PREF_BOOL
$sCommand = "getBoolPref"
EndSwitch
$sCommand = StringFormat('Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).%s("%s");',$sCommand, $sName)
Return _FFSetGet($Socket, $sCommand)
EndFunc
; ------------------------------------------------------------------------------
Func _FFPrefSet(ByRef $Socket, $sName, $vValue)
If Not __FFIsSocket($Socket) Then
SetError(__FFError("_FFPrefSet", $_FF_ERROR_SocketError))
Return 0
EndIfLocal $sCommand
[/autoit] [autoit][/autoit] [autoit]
Local $iType = _FFSetGet($Socket, 'Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).getPrefType("' & $sName & '");')
If @error Then
SetError(1)
Return 0
EndIfSwitch $iType
[/autoit] [autoit][/autoit] [autoit]
Case 0
SetError(__FFError("_FFPrefSet", $_FF_ERROR_NoMatch, "$sName: " & $sName))
Return 0
Case 32 ; PREF_STRING
If Not IsString($vValue) Then
SetError(__FFError("_FFPrefSet", $_FF_ERROR_InvalidDataType, "$vValue: " & $vValue))
Return 0
EndIf
$vValue = "'" & $vValue & "'"
$sCommand = "setCharPref"
Case 64 ; PREF_INT
If Not IsInt($vValue) Then
SetError(__FFError("_FFPrefSet", $_FF_ERROR_InvalidDataType, "$vValue: " & $vValue))
Return 0
EndIf
$sCommand = "setIntPref"
Case 128 ; PREF_BOOL
If Not IsBool($vValue) Then
SetError(__FFError("_FFPrefSet", $_FF_ERROR_InvalidDataType, "$vValue: " & $vValue))
Return 0
EndIf
$vValue = __FFB2S($vValue)
$sCommand = "setBoolPref"
EndSwitch
$sCommand = StringFormat('Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch).%s("%s",%s);',$sCommand, $sName, $vValue)
_FFSetGet($Socket, $sCommand)
If Not @error Then
Local $vRetVal = _FFPrefGet($Socket, $sName)
If $vRetVal = $vValue Then Return 1
EndIfReturn 0
[/autoit]
EndFuncWas haltet Ihr davon?
Grüße
Stilgar -
Nochmal zum Test V0.4.1.0b-4:
- _FFWindowCloseCurrent in _FFWindowClose eingebaut
- _FFWindowSelectMostRecent in _FFWindowSelect eingebautBeides ist dann jeweils die Funktion ohne Parameter, also
_FFWindowCloseCurrent = _FFWindowClose($Socket)
_FFWindowSelectMostRecent = _FFWindowSelect($Socket)http://thorsten-willert.de/Themen/AutoIt-…tversion/FF.au3
Viel Spaß damit!
-
Update aller Commando-Files:
- allen eine Option "Clear console" eingebaut, damit die Console vor dem Ausführen geleert wird.
- Korrektur in Au3check: Leerzeichen am Ende Programmpfades angefügt.
und die neuen Macros dem Archiv hinzugefügt.http://jedit4autoit.thorsten-willert.de/
Viel Spaß damit!
Grüße
Stilgar -
Wird da keine Software für einen virtuellen COM-Treiber mitgeliefert, wenn ja, dann läßt sich das Gerät doch wie jede andere serielle Schnittstelle ansprechen, wie z.B.:
http://www.autoitscript.com/forum/index.php?showtopic=45842&hl=serial
http://www.autoitscript.com/forum/index.php?showtopic=13890&st=0 -
Nicht behoben?
[autoit]
Was geht denn nun nicht?
Zumindest wird so ein Object erzeugt und das hier:$ocellrangeaddress = $osm.Bridge_GetStruct("com.sun.star.table.CellRangeAddress")
[/autoit]
$ocellrangeaddress.Sheet = 0
gibt keine Fehlermeldung mehr.