Ja. Da wird die gesamte Kommunikation mit FF ausgegeben und auch evtl. Fehlermeldungen.
WIKI Seite automatisch befüllen
-
- [ offen ]
-
palkom -
24. Juni 2008 um 20:57 -
Geschlossen -
Erledigt
-
-
fehlermeldungen tauchen da nicht auf. ich hab ein textfile nur mit dem inhalt "ersfgsfsfgsjfdgsd" erstellt. auch den inhalt übernimmt er nicht, verstehs absolut net wieso.
hier nochmal mein code, leicht geändert:
C
Alles anzeigen#region Includes #include <FF.au3> #endregion Includes $file = FileOpen("C:\WIKI\Transfer\test.txt", 0) $zeile = @CRLF $text = "" ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached While 1 $line = FileReadLine($file) $text &= $line & $zeile If @error = -1 Then ExitLoop Wend FileClose($file) $Socket = _FFStart("http://wikiseite.de/beispiel_wiki/wikiseite?action=edit",default,1) If $Socket <> -1 Then _FFSetValueById($Socket, "editor-textarea", $text) _FFClick($Socket,'.forms[2].elements[4]') Else MsgBox(0,"WIKI", "Seite nicht gefunden!") EndIf
-
Komisch bei mir kommt da sehr wohl eine Fehlermeldung, das Problem dabei sind die Zeilenumbrüche in dem zu sendenden Text. Ich muß mal sehen wie ich die in den Browser reinbringe.
-
Problem beseitigt:
http://thorsten-willert.de/Themen/AutoIt-FF.au3/FF.au3/FF.au3muß nur noch den Rückgabewert überarbeiten. Aber das Setzen des Wertes funktioniert nun.
-
ja genau die zeilenumbrüche sind das problem, ist mir gerade auch aufgefallen
aber mit diesem FF.au3 öffnet er meine wiki seite wieder nicht
-
Bei mir hier geht das schon, zumindest mit dem Link, den du oben angegeben hast.
Sieht deiner etwas ganz anderst aus? -
bei mir gehts leider nicht.
hier nochmal der link:
http://wiki.domain.beispiel.de/beispiel_wiki/…ite?action=edit -
Die Seite geht schon auf - halt mit Fehlermeldung, die kommt aber auch, wenn ich den Link in den Browser kopier.
-
bei mir passiert nix, wie am anfang wird die wiki seite nicht mehr geöffnet
-
hmmm - die Meldungen aus der Console wären goldwert ...
Nochmal hochgeladen:
http://thorsten-willert.de/Themen/AutoIt-FF.au3/FF.au3/FF.au3 -
moin,
auch mit dem neuen skript wird die seite nicht geöffnet.
hier die konsolen meldung:
_FFStart ==> Invalid data type: http://wiki.domain.beispiel.de/beispiel_site?action=edit
-
Ich kann den Fehler mit diesem Link leider überhaupt nicht nachvollziehen, weder mit FF V2 noch V3.
Ist das wirklich der den du verwendest? Dieser Link führt nur zu einem Seitenladefehler "Adresse nicht gefunden".So kann ich dir nicht weiterhelfen - ich kann leider nicht erraten wie die Adresse wirklich aussieht und weshalb sie nicht funktioniert.
Ich könnte zwar die URL-Überprüfung ausbauen, aber das ist nicht wirklich sinnvoll, oder du machst das selbst in der FF.au3 indem du in der Funktion __FFIsURL einfach ein Return 1 einbaust.Kann jemand anderst das bitte mal testen?
[EDIT]
(Fast) ohne URL-Prüfung:
http://thorsten-willert.de/Themen/AutoIt-…version/FFb.au3Grüße
Stilgar -
Ich hab hier mal ein paar verschiedene Methoden zusammengestellt:
Spoiler anzeigen
[autoit]_CheckURL("http://börsE.de/ind-rt.dg")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_CheckURL("http://hh-1hallo.msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki")
_CheckURL("http://hh-1hallo. msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki")Func _CheckURL($string)
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, 'URL is:', $string & @CRLF & "Check different methods to validate")
MsgBox(0, 'FF.au3', __LastFFIsURL($string))
MsgBox(0, 'http://snippets.dzone.com/posts/show/452', StringRegExp($string,"(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?"))
MsgBox(0, 'http://www.vbulletin.com/forum/showthread.php?t=161587', StringRegExp($string,'^([[:alnum:]\-\.])+(\.)([[:alnum:]]){2,4}([[:alnum:]/+=%&_\.~?\-]*)$'))
MsgBox(0, 'http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx', StringRegExp($string,'^^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?((/?\w+/)+|/?)(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&\w+=\w+)*)?'))
EndFuncFunc __LastFFIsURL(ByRef $URL)
[/autoit]
Return (StringRegExp($URL, "\A(http://|https://|ftp://)([a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+|[a-zA-Z0-9\-_]+)\.[a-zA-Z\.]{2,6}(/[a-zA-Z0-9\.\?=/#%&\+-_]+|/|)\z") Or _
StringLeft($URL, 6) = "about:" Or _
StringLeft($URL, 7) = "chrome:")
EndFunc ;==>__FFIsURL -
Schön
Die ich bisher gefunden hatte, waren noch schlechter als meine Methode ...
Die Einzige was alle Beispiele richtig auswertet ist allerdings die von geekswithblogs. -
Das 3. ist aber keine richtige URL, oder? Im Hostname dürfen keine Leerzeichen vorkommen, glaube ich.(wird von dzone als richtig gewertet)
Und die von geekswithblogs erlaubt die börsE.de nicht, dabei ist das korrekt -
Die mit Leerzeichen funktioniert doch auch nicht? Oder hab ich das nun falsch aufgeschrieben?
Umlaute dürfen zwar in URLs (neuerdings - auch schon ein paar Jahre her) vorkommen, nur uncodiert meldet dir da jeder SGML-Parser einen Fehler und ohne Umstellung auf UTF-8 kann der IE (7) die ja nicht mal öffnen Also bücher.de findet er schon. aber mit einen normalen link der einen Umlaut enthält mit dem kann er nix anfangen.
-
Zitat
Die mit Leerzeichen funktioniert doch auch nicht? Oder hab ich das nun falsch aufgeschrieben?
Da hab ich undeutlich geschrieben. Ich hab gemeint, dass jeweils dzone und geekswithblogs was falsch machenZitatohne Umstellung auf UTF-8 kann der IE (7) die ja nicht mal öffnen Also bücher.de findet er schon. aber mit einen normalen link der einen Umlaut enthält mit dem kann er nix anfangen.
Stimmt. Aber Firefox kann das und wenn nicht, dann hätte ich einen Feature Request:
IDN -> PUNYCODE -
Noch mal getestet, also:
"http://börsE.de/ind-rt.dg"
"http://hh-1hallo.msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki"
"http://hh-1hallo. msn.blabla.com:80800/test/test/test.aspx?dd=dd&id=dki"1 URL / FF:0 Snipptes:1 vbulletin:0 geekswithblogs:0
2 URL / FF:0 Snipptes:1 vbulletin:0 geekswithblogs:1
3 URL / FF:0 Snipptes:1 vbulletin:0 geekswithblogs:0
(gibts hier keine Tabellen?)So wie ich das nun interpretiere ist doch nun die RegEx von geekswithblogs die "richtigste" wenn ich (bzw. ein SGML-Parser) darauf bestehe, daß Umlaute in URLs codiert sein müßen, oder?
-
das befüllen der seite funktioniert wunderbar, wenn ich keine zeilenumbrüche mitgebe
ohne zeilenumbrüche:
mit zeilenumbrüchen:
Konsoleausgabe mit zeilenumbrüche:
__FFSend: ;
__FFWaitForRepl ==> Error return value: MozRepl ....>
__FFRecv:
_FFSetGet ==> Error return value
_FFSetValueByName ==> No match -
Hallo,
mit Zeilenumbrüchen klappt es hier.
Der "Error return value" kommt momentan immer, da ich die Auswertung noch nicht angepaßt habe.
Enthält dein Text vielleicht irgendwelche Sonderzeichen, die ich noch berücksichtigt habe?
Was sendest du denn alles? -