funzt denn mein kleines prog bei dir?
_FFXPath fehleranfällig?
-
Acanis -
10. Februar 2010 um 09:58
-
-
funzt denn mein kleines prog bei dir?
Nö.Spoiler anzeigen
Code
Alles anzeigen_FFConnect: OS: WIN_XP WIN32_NT 2600 Service Pack 3 _FFConnect: AutoIt: 3.3.6.0 _FFConnect: FF.au3: 0.6.0.1b-4 _FFConnect: IP: 127.0.0.1 _FFConnect: Port: 4242 _FFConnect: Delay: 2ms _FFConnect: Socket: 1588 _FFConnect: Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729) __FFSendJavaScripts: Sending functions to FireFox .......... done __FFSend: try{FFau3 != null?1:0}catch(e){'_FFCmd_Err';}; __FFRecv: 1 _FFOpenURL: http://www.computerbase.de/ __FFSend: try{window.content.top.document.location.href='http://www.computerbase.de/'}catch(e){'_FFCmd_Err';}; __FFRecv: http://www.computerbase.de/ _FFLoadWait: .......... loaded in 2596ms __FFSend: try{FFau3.WCD=window.content.top.document;}catch(e){'_FFCmd_Err';}; __FFRecv: [object XPCNativeWrapper [object HTMLDocument]] — {contentType: "text/html", domain: "www.computerbase.de", doctype: {…}, addEventListener: function() {…}, nodeType: 9, defaultView: {…}, title: "ComputerBase", ...} _FFLoadWait: . loaded in 11ms __FFSend: FFau3.xpath=null;try{FFau3.xpath=FFau3.WCD.evaluate("/html/body/div[@id='page_wrapper']/div[@id='page']/div[@id='header']/div[@id='nav_wrapper']/ul[@id='nav']/li[5]/a",FFau3.WCD,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;}catch(e){'_FFXPath_Error: '+e;}; __FFRecv: http://www.computerbase.de/forum/ __FFSend: try{FFau3.simulateEvent(FFau3.xpath,'MouseEvents','click');}catch(e){'_FFCmd_Err';}; __FFRecv: 1 _FFLoadWait: .......... loaded in 2644ms _FFLoadWait: . loaded in 13ms __FFSend: FFau3.xpath=null;try{FFau3.xpath=FFau3.WCD.evaluate("/html/body/div[@id='page_wrapper']/div[@id='page']/div[@id='container']/div[@id='center']/div[1]/div/div/div[1]/table/tbody/tr/td[3]/a",FFau3.WCD,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;}catch(e){'_FFXPath_Error: '+e;}; __FFRecv: __FFSend: try{FFau3.simulateEvent(FFau3.xpath,'MouseEvents','click');}catch(e){'_FFCmd_Err';}; __FFRecv: -3 _FFClick ==> No match: $sElement: FFau3.xpath +>13:07:27 AutoIT3.exe ended.rc:0 +>13:07:28 AutoIt3Wrapper Finished >Exit code: 0 Time: 8.338
mit _FFConnect vor dem letzen LinkClick:Code__FFSend: FFau3.xpath=null;try{FFau3.xpath=FFau3.WCD.evaluate("/html/body/div[@id='page_wrapper']/div[@id='page']/div[@id='container']/div[@id='center']/div[1]/div/div/div[1]/table/tbody/tr/td[3]/a",FFau3.WCD,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;}catch(e){'_FFXPath_Error: '+e;}; __FFRecv: http://www.computerbase.de/forum/faq.php __FFSend: try{FFau3.simulateEvent(FFau3.xpath,'MouseEvents','click');}catch(e){'_FFCmd_Err';}; __FFRecv: 1 _FFLoadWait: ........ loaded in 2213ms +>13:08:54 AutoIT3.exe ended.rc:0 +>13:08:55 AutoIt3Wrapper Finished >Exit code: 0 Time: 12.382
Und so simpel wie das ist, wüsst ich nicht, was da falsch sein könnte -
jo stimmt, ein Fehler wird da denke ich nicht drin sein.
Du hast mir sogar etwas helfen können. Man sollte echt vor jedes FFConnect ein FFDisConnect machen. Bei längeren Programmen kommt es sonst zu Timeouts. Ist mir nämlich passiert und ich wusste einfach nicht woran es lag.
Aber am besten wär natürlich wenn man am Anfang ein Connect macht und am ende des Progs ein Disconnect und fertig
-
AHHHHHH .... ich könnte in die Tischkante/Tastatur beissen
Einfach die MozRepl – development branch installieren und freuen weils funzt wie es funzen soll ....
Hmm .... oder auch nicht -
is das jetzt was anderes wie das normale mozrepl?
-
Nö, das is ne Beta ... wobei ich nu na versuch die 1.02 zu installieren. Bei dem Link wird die 1.00 installiert.
Die 1.02 gibts nur unter Downloads als Archiv.
Grüße
Edith meint, das es man sich das sparen sollte und bei der 1.00 REalse bleiben sollte. Mich nervt es eigentlich eh nur weilZitatDie Funktionen laufen "fensterbezogen".
Wenn du also z.B. per _FFStart ein Programm laufen läßt und manuell ein neues Fenster aufmachst, passiert in dem neuen Fenster gar nichts. Wechseln kannst du zwischen den Fenstern mit den _FFWindow* Funktionen.
schliesst die Benutzung von _FFConnect() aus ....
Noch mal Edith:
mir war grad fad *hüstel* und rauskam das:Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit]
Testscript für ffxpath
#ce ----------------------------------------------------------------------------
#include
#include
Func _laden($Click = 0)
$vS1 = "/html/body/div[@id='navi_top']/div[1]/ul[1]/li[1]/a"
$vS2 = "/html/body/div[@id='container']/div[@id='container_content']/div[@id='mitte']/div[@id='mitte_links']/div[@id='mitte_news']/div/h4[1]"
$vS3 = "/html/body/div[@id='container']/div[@id='container_content']/div[@id='mitte']/div[@id='mitte_links']/div[@id='mitte_news']/div/div[1]/a"
$vURL = "http://www.heise.de/"
_FFOpenURL($vURL)
$vD1 =_FFXpath($vS1 ,"text",2)
Switch $Click
Case 0
_FFOpenURL($vURL&"/newsticker")
$vD2 = _FFXpath($vS2 ,"text",2)
Case 1
_FFLinkClick("7-Tage-News" , "text" )
$vD2 = _FFXpath($vS2 ,"text",2)
EndSwitch
$vD3 = _FFXPath($vS3 , "text" , 2)
$vMSG = "Oberste News von " & $vD1 & " am " &$vD2 & " : " &$vD3
Return $vMSG
EndFunc
_FFConnect()
If _FFIsConnected() Then
$vString1 = _laden(0)
$vString2 = _laden(1)
ConsoleWrite('$vString1 = ' & $vString1 & @crlf)
ConsoleWrite('$vString2 = ' & $vString2 & @crlf)
Else ; Sonst... (Fehlermeldung!)
MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
EndIf
Hab ich auch mal angehängt autoit.de/wcf/attachment/8216/ ..... das Ergebniss:Code$vString1 = Oberste News von heise online am 14.03.2010 : GDC: Nintendo kombiniert Spaß mit Schrecken $vString2 = Oberste News von heise online am :
Preisfrage: Wieso fehlt bei $vString2 was? -
Vielleicht so:
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit]
Testscript für ffxpath
#ce ----------------------------------------------------------------------------
#include <FF.au3>
#include <array.au3>
Func _laden($Click = 0)
$vS1 = "/html/body/div[@id='navi_top']/div[1]/ul[1]/li[1]/a"
$vS2 = "/html/body/div[@id='container']/div[@id='container_content']/div[@id='mitte']/div[@id='mitte_links']/div[@id='mitte_news']/div/h4[1]"
$vS3 = "/html/body/div[@id='container']/div[@id='container_content']/div[@id='mitte']/div[@id='mitte_links']/div[@id='mitte_news']/div/div[1]/a"
$vURL = "http://www.heise.de/"
_FFOpenURL($vURL)
$vD1 =_FFXpath($vS1 ,"text",2)
Switch $Click
Case 0
_FFOpenURL($vURL&"/newsticker")
_FFConnect()
$vD2 = _FFXpath($vS2 ,"text",2)
Case 1
_FFLinkClick("7-Tage-News" , "text" )
_FFConnect()
$vD2 = _FFXpath($vS2 ,"text",2)
EndSwitch
$vD3 = _FFXPath($vS3 , "text" , 2)
$vMSG = "Oberste News von " & $vD1 & " am " &$vD2 & " : " &$vD3
Return $vMSG
EndFunc
_FFConnect()
If _FFIsConnected() Then
$vString1 = _laden(0)
$vString2 = _laden(1)
ConsoleWrite('$vString1 = ' & $vString1 & @crlf)
ConsoleWrite('$vString2 = ' & $vString2 & @crlf)
Else ; Sonst... (Fehlermeldung!)
MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
EndIf -
Ich hab mittlerweile eine Lösung gefunden, die A funktioniert und B ich keine Ahnung hab, wieso ...
[autoit]
In der FF.au3 hab ich die Funktion _FFLoadWait() geändert:$_FF_COM_TRACE = $bTrace
[/autoit]
__FFSendJavaScripts(); <<<-- Diese Zeile wurde eingefügt -->>
Return SetError(0, $iLoadingTime - $_FF_CON_DELAY * 1.4, 1)
...
ConsoleWrite(@CRLF & @CRLF)
__FFSendJavaScripts(); <<<-- Diese Zeile wurde eingefügt -->>
Return SetError(__FFError($sFuncName, $_FF_ERROR_Timeout, "Can not check site status."), $iLoadingTime, 0)
Ob es vor dem 2. Return wirklich nötig ist, ist mir unklar .... -
Hi,
ich schreib nochmal in dieses Thema,da ich genauso ein Problem habe.
Ich habe den über mir genannten Code in die FF.au3 Datei kopiert aber es klappt trotzdem nicht.
Könnte mir jemand die ff.au3 mit dem Code als txt hochladen?
Denn ich denke ich hab ihn falsch eingefügt -