1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. 32vroni

Beiträge von 32vroni

  • RegEx, die 188ste...

    • 32vroni
    • 24. November 2014 um 00:30

    Liebe Gemeinde,

    ich habe Webseiten, aus denen ich ein paar Daten holen soll. Irgendwo darin steht z.B. das:

    <tr>
    <th>Hausanschrift</th>
    <td>
    Hausplatz 1<br />
    12345 Stadt
    </td>

    Die Zeilen sind mit Leerzeichen eingerückt.

    Ich würde gerne Hausplatz 1 in einen String bekommen und 12345 Stadt in einen anderen. Den Rest brauche ich nicht.
    Bei http://www.regexr.com/ habe ich schon ein wenig eingekreist, aber ich bleibe hängen, weil nach Hausplatz 1 noch die PLZ und Teile von der Stadt gefunden werden.
    Der Suchstring schaut so aus:
    [^<th>Hausanschrift</th>\r\s*<td>\r\*]\w*\s\d*[^<br\s\/>\r\s*]
    Ich würde mir wünschen, daß alles rechts nach dem <br /> ignoriert wird. Kann mir da jemand bitte helfen?

    Danke!

  • Keine Möglichkeit, Firefox zu steuern

    • 32vroni
    • 23. November 2014 um 21:55

    Da kommen gleich zwei Dinge zusammen:

    Zum Einen muß die FF.au3 mit Anführungszeichen umschlossen sein:
    #include "FF.au3"

    Zum Zweiten funktioniert es nicht, wenn das Skript in C:\Program Files (x86)\AutoIt3\Examples\ liegt. Auf einer anderen Platte geht es.
    Ist mir schleierhaft, aber es scheint nun zu gehen.

  • Keine Möglichkeit, Firefox zu steuern

    • 32vroni
    • 23. November 2014 um 21:28

    Hallo zusammen,

    irgendwo mache ich wohl einen simplen Fehler, denn beim Start des Skripts bekomme ich bei jeder Zeile mit "_FFxxx" die Meldung "Error: _FFxxx (): undefined function."

    Spoiler anzeigen

    #include <FF.au3>
    _FFStart("http://ff-au3-example.thorsten-willert.de/")

    If _FFIsConnected() Then
    Sleep(2000)
    _FFOpenURL("http://www.google.com")
    Sleep(2000)
    _FFAction("alert","Bye bye ...")
    _FFQuit()
    Else ; Wenn FF nicht verbunden ist...
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich:" & @Error)
    EndIf

    MozRepl ist installiert, wird automatisch gestartet, ist auch gestartet (hab gestoppt und wieder gestartet).
    (Hat das in diesem Fall überhaupt etwas damit zu tun?)
    FF.au3 0.6.0.1b-3 liegt im gleichen Verzeichnis C:\Program Files (x86)\AutoIt3\Include\ wie die anderen Includes.
    Das Skript liegt im Ordner C:\Program Files (x86)\AutoIt3\Examples\
    Andere Skripte ohne FF laufen.

    Wo hab ich den Fehler gemacht?

  • Pc Herunterfahren

    • 32vroni
    • 27. Oktober 2013 um 14:26

    Das kannst Du mit Windows selbst machen.
    linke Windowstaste und r drücken, dann "Aufgabenplanung" eingeben.
    Das ist dann schon ziemlich selbsterklärend.
    Der Befehl, den Du dann brauchst ist "shutdown". Gib mal die beiden Begriffe bei Suchmaschinen ein, da wirst Du schnell fündig.

    Voraus schreibt man nur mit einem r.

  • Wie Metainformationen aus Datei im Dateinamen ablegen? ähnlich MP3 Tags auslesen

    • 32vroni
    • 6. Oktober 2013 um 09:31

    Guten Tag zusammen,

    bei einigen hundert pdf Dokumenten habe ich Titel, Autor, Thema und Kommentar in der jeweiligen Datei hinterlegt. Die Informationen kann ich im Windows Explorer anzeigen, wenn ich die entsprechenden Felder in der Anzeige hinzufüge. Leider sind die Dateinamen sinnlose Nummern. Anhand der Information im Feld Thema könnte ich jedoch richtig sortieren. Also würde ich gerne die Information vom Feld Thema vorne an den Dateinamen anfügen.

    Wie lese ich die Information aus den genannten 4 Feldern aus? Natürlich habe ich keine Lust, das bei sovielen Dokumenten manuell zu machen.

    Danke!

  • Excel Tabelle auslesen und Datumsformat mit übernehmen

    • 32vroni
    • 8. November 2010 um 22:31

    Könntest Du das nicht mit Excel alleine machen?
    Ich denke da an sowas ähnliches wie =Wenn(Tabelle1a1:z99;zu suchendes Element aus Tabelle3;Tabelle2a1)
    Häng doch mal drei solcher Tabellen an.

  • Inhalt vom Clipboard proper machen - wie geht das ein zweitesmal?

    • 32vroni
    • 5. November 2010 um 22:31

    Ich stimme Dir komplett zu; ein Link würde aber nix nützen, weil das nur firmenintern verwendet werden darf und ohne Passwort auch kein Zugang möglich ist.

    Ich kann zwar die Daten aus dem html Text auslesen, aber ich habe Ahnung, wie ich dann geänderte Daten wieder zum Server übermitteln würde. Ich könnte zwar eine neue html Seite erstellen, aber die liegt lokal. Es werden aber keine html Dateien zum Server übertragen, sondern nur die Daten der Formulare. Wenn ich den html Source Code richtig verstehe, wird beim Click auf den SAVE button, ein JavaScript gestartet, das die Daten übermittelt. Das ist mir doch ein wenig zu kryptisch.

  • Inhalt vom Clipboard proper machen - wie geht das ein zweitesmal?

    • 32vroni
    • 5. November 2010 um 20:40

    Danke an Cyberdyne! :thumbup:
    Mit Sleep (100) nach dem ersten Send ("^c") geht es.
    Ich weiß, daß das eine ziemlich wackelige Methode ist, aber ich weiß nicht, wie ich das anders machen soll. Controls finde ich nicht, wenn ich die Maus bei Window Info über die ganze Seite schiebe.

    Bei diesen Feldern handelt es sich um Vor- und Nachname auf einer Webseite. Um die zu ändern, muß man erst eine Zeile doppelklicken, dann geht ein separates Fenster in der Bildschirmmitte auf und darin kann man dann erst in zwei Feldern Vorname, Nachname und ändern; das dritte ist ein Auswahlfeld mit Frau/Herr/Dr./Prof.

    Dann wird das Fenster mit Klick auf "OK" geschlossen und man ist wieder zurück auf der Webseite. Um die Änderungen zu speichern, muß ein "SAVE" Button angeklickt werden.

    Ich habe auch schon versucht, den Inhalt der Datenfelder aus dem html Text auszulesen. Das gelingt mir prinzipiell, aber diese Datenfelder gibt es zweimal im Text und da bekomme ich dann Vor- und Nachnamen jeweils zweimal in einer Variablen zurück. Soweit habe ich noch nicht kapiert, wie man das nur einmal erhält.

    Der Versuch mit dem Nachnamen schaut so aus:

    Spoiler anzeigen
    Code
    $ganzeseite = _FFReadHTML()
    Local $name_lastName = _StringBetween($ganzeseite, 'name_lastName=', '&amp')
    $name_lastName = _ArrayToString($name_lastName)
    $regex = StringRegExp ($name_lastName, 'name_lastName=')

    Ob ich den Weg weiter verfolge, weiß ich nicht so recht. Das einlesen mit _FFReadHTML() dauert schon erheblich länger, als die Klickerei. Mit Internet Explorer habe ich es noch garnicht versucht. Würde das grundsätzlich auch gehen?

    Danke!

  • Inhalt vom Clipboard proper machen - wie geht das ein zweitesmal?

    • 32vroni
    • 5. November 2010 um 19:28

    Guten Tag zusammen,

    ich hänge beim Versuch, Vor- und Nachname, die in zwei separaten Feldern stehen, richtig mit _StringProper zu behandeln. Der erste Buchstabe soll jeweils groß sein, der Rest klein. Bei einem Feld, das ich mit dreifachem Mausklick "highlighte", mit CTRL+C ins Clipboard lege und dann mit ClipPut (_StringProper($clipboard)) entsprechend geändert ins Clipboard lege, um es dann mit CTRL+V wieder in das Feld zu bringen, funktioniert es.

    Beim zweiten Feld mit der gleichen Prozedur, nur an anderen Koordinaten, wird der Name gelesen, dann aber unverändert wieder ins Feld gelegt.

    Bekanntermaßen sitzt ja der Fehler vor dem Bildschirm - aber wo? ;(

    Hier mal das Skript:

    Spoiler anzeigen
    C
    #Include <String.au3>
    #include <ClipBoard.au3>
    
    
    
    
    Opt("WinTitleMatchMode", 2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
    WinActivate ("Mozilla")
    
    
    ; Klickt 3x in das Fenster "Name" zum Aktivieren und Highlighten von "Last Name"
    MouseClick ("left", 605, 540, 3, 0)
    ; "Last Name" wird in das Clipboard gelegt
    Send ("^c")
    ; In die $clipboard Variable wird der Inhalt des Clipboards ausgelesen
    $clipboard = ClipGet()
    ; in das Clipboard wird der nach Proper Methode geänderte String wieder abgelegt - Achtung: Sonderzeichen werden auch als Trenner erkannt, danach kommt ein Großbuchstabe
    ClipPut (_StringProper($clipboard))
    ; Es wird dreimal an die gleiche Stelle geklickt, damit das Fenster wieder aktiv ist und der gesamte Last Name durch die geänderte Version ersetzt werden kann
    MouseClick ("left", 605, 540, 3, 0)
    ; Der Inhalt vom Clipboard wird eingefügt; überschreibt dabei den ursprünglichen Text
    Send ("^v")
    
    
    MouseClick ("left", 678, 516, 3, 0)
    Send ("^c")
    $clipboard = ClipGet()
    ; in das Clipboard wird der nach Proper Methode geänderte String wieder abgelegt - Achtung: Sonderzeichen werden auch als Trenner erkannt, danach kommt ein Großbuchstabe
    ClipPut (_StringProper($clipboard))
    ; Es wird dreimal an die gleiche Stelle geklickt, damit das Fenster wieder aktiv ist und der gesamte First Name durch die geänderte Version ersetzt werden kann
    MouseClick ("left", 678, 516, 3, 0)
    Send ("^v")
    
    
    Exit
    Alles anzeigen

    Danke!

  • Wie verwende ich eine Reihe von Zahlen aus einer Datei, um damit eine Schleife abzuarbeiten?

    • 32vroni
    • 3. Juni 2010 um 22:56

    Oha, das geht ja einfach. Danke! :)

    In diesem Fall geht es um das Auslesen einer Datenbank, bei der regelmäßig neue Einträge gemacht werden und ich zwar die jeweiliegn Nummern der neuen Einträge habe, aber die restlichen Werte des jeweiligen Datensatzes nur über das Webinterface erhalte.

  • Wie verwende ich eine Reihe von Zahlen aus einer Datei, um damit eine Schleife abzuarbeiten?

    • 32vroni
    • 3. Juni 2010 um 22:31

    Hallo,

    ich habe eine .txt Datei, in der in jeder Zeile eine mehrstellige Zahl und sonst nichts weiter steht. Die Anzahl der Zeilen variiert. Beispiel:

    123
    457887
    1542
    ...

    Ich möchte mit diesen Zahlen immer die gleiche Aktion durchführen; etwa eine Webseite öffnen, bei der die URL immer mit der Zahl endet. Ich vermute, dazu muß ich die Datei lesen mit $text = FileRead($Datei). Wie geht es dann weiter? Wie bringe ich die Zahlen in die Variable?

    Danke für ein paar Ideen!
    Vroni

  • Bitte um Hilfe bei StringRegExpReplace

    • 32vroni
    • 11. Februar 2010 um 21:50

    Die volle html Seite kann ich nicht hier darstellen; da wäre der Chef dagegen.

    Ein Abschnitt wäre dieser hier:
    Die einzelnen Dokumente haben eine Tabelle mit meist 40 Zeilen. In jeder Zeile sind zwei Zellen. In der ersten Zelle sind maximal vier Links, in der zweiten Zelle ist immer ein Link. In der ersten Zelle kann es auch sein, daß nur ein, zwei oder drei Links sind. Bei den Links ist immer ein kleines Bild.

    Was ich haben will ist folgendes:
    Es sollen insgesamt 5 Zellen werden. In jeder Zelle ist dann nur im Klartext der Name des Bildtitels enthalten. Also in der ersten Zelle in diesem Fall "Modify", in der zweiten Zelle "Publish as Draft External", in der dritten "Modify Document References", inder vierten "Add Note" und in der letzten "Document information".

    Zunächst war daher mein Gedanke, die Links erstmal durch <td>Bildertitel</td> zu ersetzen.


    Spoiler anzeigen

    <td class="cciltabodd" align="left">


    <a href="" onclick="document.searchForm.SectionDefInternalNames.value='FaqSection,Attachments,SurveySection,RightNowDetails';_popupPrepareFormForSubmit('searchForm');documentsDetailsPrepareDocEdition('searchForm','0','DT_Error_Messages_FAQLoc');return mytasksExecuteAction('searchForm','root', 212123,113, 'No',false,false,2,'/crm/publication/includes/editor.jsp','_self','none');">

    <img src="/comp/ccil/themes/concrete/jspimages/publication/docmodify.gif" alt="" title="Modify">
    </a>


    <a href="" onclick="document.searchForm.SectionDefInternalNames.value='FaqSection,Attachments,SurveySection,RightNowDetails';_popupPrepareFormForSubmit('searchForm');documentsDetailsPrepareDocEdition('searchForm','0','DT_Error_Messages_FAQLoc');return mytasksExecuteAction('searchForm','root', 262354,115, 'No',false,false,0,'','_self','com.instranet.services.loadcomparisonmatrix.APICmdWorkflowActionAndUpdateMatrix');">

    <img src="/comp/ccil/themes/concrete/jspimages/publication/docpublishnewversion.gif" alt="" title="Publish as Draft External">
    </a>


    <a href="" onclick="document.searchForm.SectionDefInternalNames.value='FaqSection,Attachments,SurveySection,RightNowDetails';_popupPrepareFormForSubmit('searchForm');;return mytasksExecuteAction('searchForm','root', 678900,111, 'No',false,false,2,'/il/publication/includes/editordocref.jsp','_self','none');">

    <img src="/comp/ccil/themes/concrete/jspimages/publication/docrefedit.gif" alt="" title="Modify Document References">
    </a>


    <a href="" onclick="document.searchForm.SectionDefInternalNames.value='FaqSection,Attachments,SurveySection,RightNowDetails';documentsAddNote('searchForm','');;return mytasksExecuteAction('searchForm','root', 889910,108, 'No',false,false,2,'/il/publication/popups/noteeditor.jsp','NoteEditor','none');">

    <img src="/comp/ccil/themes/concrete/jspimages/publication/addnote.gif" alt="" title="Add Note">
    </a>


    </td>
    <td class="ddsdoc cciltabodd" align="center">

    <a href="" onclick='return documentsSelectViewDetails("searchForm", "3","searchFormsearchPageFilterViewType","669780","DocId","searchFormsearchPageFilterListSelectorPage");'>
    <img src="/comp/ccil/themes/concrete/jspimages/publication/docdetails.gif" alt="" title="Document information">
    </a>

    </td>

  • Bitte um Hilfe bei StringRegExpReplace

    • 32vroni
    • 11. Februar 2010 um 19:02

    Oha, seid Ihr schnell. Leider ist es das nicht. Wahrscheinlich habe ich noch einen Fehler irgendwo. Hier mal das ganze Skript:

    [autoit]

    #Include <FF.au3>
    #include <GuiConstantsEx.au3>
    #include <ClipBoard.au3>
    #include <WindowsConstants.au3>
    #Include <String.au3>
    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    Opt("WinTitleMatchMode", 2)
    Dim $schleife
    Dim $fil
    Dim $infile
    Dim $outfile
    Dim $content
    Dim $Zahl

    [/autoit][autoit][/autoit][autoit]

    For $schleife = 1 to 1000
    $fil = "CCIL-" & $schleife&".html"
    $fileopen = FileOpen($fil, 0)
    $outfile = "CCIL-table-" & $schleife&".html"
    $infile = FileRead($fil)
    If $fileopen = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Local $contentarray = _StringBetween($infile,'<div class="cciltabpubdocdis">', '</tbody></table>')
    $content = _ArrayToString($contentarray)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $content = StringReplace($content, '<img src="/comp/crm/themes/concrete/jspimages/publication/sectionnotifgreenbullet.gif" alt="">', "äg")
    $content = StringReplace($content, '<img src="/comp/crm/themes/concrete/jspimages/publication/sectionnotifredbullet.gif" alt="">', "är")
    $content = StringRegExpReplace($content, '<input name="DocIds" value="\d{6}" type="checkbox">', '')
    $content = StringReplace($content, "&nbsp;&nbsp;(", "üü")
    $content = StringRegExpReplace($content, 'üü(\d{6})\)', '<td>$1</td>')
    $content = StringReplace($content, '<img src="/comp/ccil/themes/concrete/jspimages/publication/docedited.gif" alt="" title="', "")

    [/autoit][autoit][/autoit][autoit]

    $content = StringReplace($content, '<a href="" onclick="document.searchForm.SectionDefInternalNames.value=\x27FaqSection,Attachments,SurveySection,RightNowDetails\x27;_popupPrepareFormForSubmit\(\x27searchForm\x27\);documentsDetailsPrepareDocEdition\(\x27searchForm\x27,\x270\x27,\x27DT_Troubleshooting_FAQLoc\x27\);return mytasksExecuteAction\(\x27searchForm\x27,\x27root\x27, (\d{6}),(\d{3}), \x27No\x27,false,false,2,\x27\/crm\/publication\/includes\/editor.jsp\x27,\x27_self\x27,\x27none\x27\);">', 'ÄÖÄ')

    [/autoit][autoit][/autoit][autoit]

    FileWrite($outfile, $content& @CRLF &"</tbody></table>")
    FileClose($outfile)

    [/autoit][autoit][/autoit][autoit]

    Next

    [/autoit]

    Die fragliche html Zeile sieht so aus:

    Spoiler anzeigen

    <a href="" onclick="document.searchForm.SectionDefInternalNames.value='FaqSection,Attachments,SurveySection,RightNowDetails';_popupPrepareFormForSubmit('searchForm');documentsDetailsPrepareDocEdition('searchForm','0','DT_Troubleshooting_FAQLoc');return mytasksExecuteAction('searchForm','root', 252891,113, 'No',false,false,2,'/crm/publication/includes/editor.jsp','_self','none');">


    Wenn ich es so mache:

    [autoit]

    $content = StringReplace($content, '<a href="" onclick="document.searchForm.SectionDefInternalNames.value=', 'ÄÖÄ')

    [/autoit]


    wird der Suchbegriff schon ersetzt. Kommt noch das \x27 hinzu, wird die Zeile unverändert übernommen.

    Muß ich da noch Optionen einstellen?

    Danke!

  • Bitte um Hilfe bei StringRegExpReplace

    • 32vroni
    • 11. Februar 2010 um 17:19

    Danke, das hat schonmal geholfen.

    Jetzt fehlt mir noch die Möglichkeit, so etwas zu ersetzen:

    Spoiler anzeigen

    <a href="" onclick="document.searchForm.SectionDefInternalNames.value='FaqSection,Attachments,SurveySection,RightNowDetails';_popupPrepareFormForSubmit('searchForm');documentsDetailsPrepareDocEdition('searchForm','0','DT_Troubleshooting_FAQLoc');return mytasksExecuteAction('searchForm','root', 254541,113, 'No',false,false,2,'/crm/publication/includes/editor.jsp','_self','none');">


    Diese Zeile kommt mehrfach vor und die beiden Zahlen 254541 und 113 sind auch jedesmal unterschiedlich. Die sind wohl mit \d{6} und \d{3} auffindbar. Mir machen die Hochkommas und Klammern Sorgen. Mit dem vorangestellten Backslash ist das nicht möglich.

    So funktioniert es jedenfalls nicht:

    [autoit]

    $content = StringReplace($content, '<a href="" onclick="document.searchForm.SectionDefInternalNames.value=\'FaqSection', 'neuertext')

    [/autoit]


    So funktioniert es:

    [autoit]

    $content = StringReplace($content, '<a href="" onclick="document.searchForm.SectionDefInternalNames.value=', 'neuertext')

    [/autoit]


    Aber das hilft mir nicht; ich will ja die ganze Zeile ersetzen.


    Danke!

  • Bitte um Hilfe bei StringRegExpReplace

    • 32vroni
    • 10. Februar 2010 um 19:04

    Hallo,

    ich kapier es leider nicht: Im HTML Sourcecode schaut es so aus:

    üüü232325)

    Also 3x der Buchstabe ü, eine sechsstellige Zahl, die in jeder Zeile anders ist, und dann die geschlossene runde Klammer. Diese Kombination gibt es mehrfach im HTML Dokument. Ich hätte das gerne ersetzt, sodaß es im HTML Code dann so aussieht:

    <td>232325</td>

    Also soll die Zahl bleiben und in eine Zelle einer Tabelle gesetzt werden. Wer erleuchtet mich bitte?

  • Wie ersetze ich einen Link durch einen Text in einer html Datei?

    • 32vroni
    • 10. Februar 2010 um 12:14

    Hallo Oscar,

    vielen Dank - genau das war es.

  • Wie ersetze ich einen Link durch einen Text in einer html Datei?

    • 32vroni
    • 9. Februar 2010 um 19:17

    Hallo,

    im Sourcecode schaut es so aus:

    <img src="/comp/crm/themes/concrete/jspimages/publication/sectionnotifgreenbullet.gif" alt="">

    und diese Zeile hätte ich gerne ersetzt durch den Text

    ää_green

    Meine Versuche waren bisher nicht erfolgreich:
    StringRegExpReplace($content, "<img src="/comp/crm/themes/concrete/jspimages/publication/sectionnotifgreenbullet.gif" alt="">","ää_green")
    StringReplace($content, "<img src="/comp/crm/themes/concrete/jspimages/publication/sectionnotifgreenbullet.gif" alt="">", "ää_green")

    Was mache ich falsch?

    Vielen Dank!

  • Wie Timeout umgehen? Erhalte manchmal Meldungen: __FFWaitForRepl ==> Timeout: 10012ms > 10000ms $iTimeOut

    • 32vroni
    • 9. Februar 2010 um 19:10

    Jetzt scheint es zu gehen. Ich habe einfach

    die Zeilen getauscht und damit _FFConnect nicht mehr in der Schleife.

    _FFConnect(Default, Default, 6000)
    For $schleife = 44 to 991

  • Wie klickt man einen Link an, der nicht immer an der gleichen Stelle ist?

    • 32vroni
    • 9. Februar 2010 um 12:38

    Hallo,

    im Sourcecode ist diese Zeile:

    <div class="ccilpagsel"><a href="" onclick="return publicationChangePage('searchForm','119','searchFormsearchPageFilterListSelectorPage');">&lt;&lt;</a>&nbsp;&nbsp;<a href="" onclick="return publicationChangePage('searchForm','1','searchFormsearchPageFilterListSelectorPage');">1&nbsp;</a><a href="" onclick="return publicationChangePage('searchForm','115','searchFormsearchPageFilterListSelectorPage');">...&nbsp;</a><a href="" onclick="return publicationChangePage('searchForm','118','searchFormsearchPageFilterListSelectorPage');">118</a>,&nbsp;<a href="" onclick="return publicationChangePage('searchForm','119','searchFormsearchPageFilterListSelectorPage');">119</a>,&nbsp;<b>[120]</b>,&nbsp;<a href="" onclick="return publicationChangePage('searchForm','121','searchFormsearchPageFilterListSelectorPage');">121</a>,&nbsp;<a href="" onclick="return publicationChangePage('searchForm','122','searchFormsearchPageFilterListSelectorPage');">122</a>&nbsp;<a href="" onclick="return publicationChangePage('searchForm','125','searchFormsearchPageFilterListSelectorPage');">...&nbsp;</a><a href="" onclick="return publicationChangePage('searchForm','991','searchFormsearchPageFilterListSelectorPage');">991</a>&nbsp;<a href="" onclick="return publicationChangePage('searchForm','121','searchFormsearchPageFilterListSelectorPage');">&nbsp;&gt;&gt;</a></div>


    Ich möchte. daß die beiden eckigen Klammern >> durch das Skript angeklickt werden. Dadurch würde die nächste Seite aufgerufen werden. Das ist im Sourcecode dieses hier:

    &nbsp;&gt;&gt;

    Momentan lasse ich das Skript mit der Maus auf die Seite klicken, die Tasten STRG+End drücken, damit die Seite ganz nach unten scrollt und lasse dann die Maus an die Position fahren, an der sich meist diese zwei >> Klammern befinden und dann simuliert das Skript den linken Maustastendruck. Letztlich soll nur der Link angeklickt werden. Da leider nicht immer die Seite komplett mit Text gefüllt ist, kann es sein, daß die beiden >> Klammern sich etwas weiter oben befinden und dann geht der Mausklick natürlich ins Leere.

    Mir fällt gerade nichts ein, wie ich dann trotzdem den Link durch das Skript anklicken kann.

    Danke für Ideen!

  • Wie Timeout umgehen? Erhalte manchmal Meldungen: __FFWaitForRepl ==> Timeout: 10012ms > 10000ms $iTimeOut

    • 32vroni
    • 9. Februar 2010 um 10:39

    Hallo,

    ich habe etwa 1000 html Seiten aus einer Datenbank auszulesen und zu speichern. Das funktioniert auch soweit, nur bricht es manchmal mit solchen Meldungen ab:

    _FFConnect: OS: WIN_XP WIN32_NT 2600 Service Pack 2
    _FFConnect: AutoIt: 3.3.4.0
    _FFConnect: FF.au3: 0.5.3.8b
    _FFConnect: IP: 127.0.0.1
    _FFConnect: Port: 4242
    _FFConnect: Delay: 2ms
    _FFConnect: Socket: 1508
    __FFSend: try{gBrowser.tabContainer.selectedIndex = Publisher}catch(e){'_FFCmd_Err';};
    __FFWaitForRepl ==> Timeout: 10010ms > 10000ms $iTimeOut
    __FFRecv:
    __FFWaitForRepl ==> Timeout: 3005ms > 3000ms $iTimeOut
    _FFCmd ==> Error return value
    __FFSend: try{window.content.frames[-1].document.body.innerHTML;}catch(e){'_FFCmd_Err';};
    __FFRecv:
    __FFSend: try{window.content.wrappedJSObject.frames[-1].document.body.innerHTML;}catch(e){'_FFCmd_Err';};
    __FFWaitForRepl ==> Timeout: 10012ms > 10000ms $iTimeOut


    So sieht das Skript aus:

    #Include <FF.au3>
    #include <GuiConstantsEx.au3>
    #include <ClipBoard.au3>
    #include <WindowsConstants.au3>
    #Include <String.au3>
    #include <Array.au3>

    Opt("WinTitleMatchMode", 2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
    Dim $schleife
    Dim $fil


    For $schleife = 44 to 991
    _FFConnect(Default, Default, 6000)
    _FFTabSetSelected("Publisher")
    $rtex = _FFReadHTML()
    ;_ClipBoard_SetData ($rtex)
    $fil = "CCIL-" & $schleife&".html"
    $file = FileOpen($fil, 1)
    ; Check if file opened for reading OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    ;ans Ende $Daten anfügen und neue Zeile machen, dann Datei schließen.
    FileWrite($file, $rtex & @CRLF)
    FileClose($file)

    WinActivate ("Publisher","")
    MouseClick ("left", 2367, 980)
    Send ("^{END}")
    MouseClick ("left", 2262, 995)
    _FFLoadWait ()
    Next


    Exit


    Das würde ich natürlich gerne umgehen und kann mir vorstellen, daß ich nur den Timeout Wert hochsetzen müßte. Wie geht das?

    Danke!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™