firefox seite auslesen / weiterleiten

  • Hallo ich wollte ein AutoIT script schreiben, was die Aktuelle Seite in FireFox überprüfen tut
    sich dann den Text kopiert und 2 Zeilen kontrolliert, und das dann an eine webseite weiter leitet
    ich habe die entsprechenden Funktionen schon gefunden, hab allerdings zwar ahnung von PHP aber nicht wirklich anung von autoit, könnte mir jemand helfen, bzw ansätze geben wie es funktionieren würde ?

    [autoit]

    #Include <FF.au3>
    _FFConnect([$IP = "127.0.0.1"[, $iPort = 4242, $iTimeOut = 60000]]])
    _FFTabSelected(ByRef $Socket[, $sMode="index"]) == "Titel der Webseite"
    //überprüfen ob das aktuelle Tab == xxx ist

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

    _FFReadText(ByRef $Socket[, $iTabIndex = -1[, $bCompress = False]])
    $variable == zeile-aus-text
    //hier muss ich überprüfen ob in zeile xx == Hallo Welt steht
    //und das in $variable nicht der selbe text wie in zeile yy steht (neue/nächste seite geladen)

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

    //wenn yy nicht $variable dann =
    _FFTabAdd($Socket [, $sURL = "www.webseite.de?inhaltseite1=blablablablabla" [, $bSelect = false])
    //hier will ich ein 2. Tab öffnen wo die daten über GET von einen PHP script verarbeitet werden

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

    _FFLoadWait(ByRef $Socket[, $iDelay = 0[, $iTimeOut = 45000]])
    // warten bis die seite fertig geladen ist

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

    _FFTabClose($Socket [,$vTab = -1 [,$sMode = "index"]])
    // tab schließen

    [/autoit]
  • Hallo,

    gemach - das ist hier kein Chat ;)

    Das Ganze sieht ansatzweise so aus:

    Spoiler anzeigen
    [autoit]

    #Include <FF.au3>
    $Socket = _FFConnect()

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

    ; wenn Socket > -1 dann besteht eine Verbindung
    IF $Socket > -1 Then
    If "Titel der Webseite" = _FFTabSelected($Socket, "name")
    ;überprüfen ob das aktuelle Tab == xxx ist

    $sText = _FFReadText($Socket)
    ; der gesamte Text steht nun in sText, wäre interessant zu wissen was du genau suchst
    ; da Zeilennummern evtl. was falsches liefern

    ; $variable = "zeile-aus-text"
    ;hier muss ich überprüfen ob in zeile xx == Hallo Welt steht
    ;und das in $variable nicht der selbe text wie in zeile yy steht (neue/nächste seite geladen)

    ;wenn yy nicht $variable dann =
    If $variable <> "yy" Then
    _FFTabAdd($Socket , $sURL = "www.webseite.de?inhaltseite1=blablablablabla", true)
    ;hier will ich ein 2. Tab öffnen wo die daten über GET von einen PHP script verarbeitet werden
    _FFLoadWait($Socket)
    ;warten bis die seite fertig geladen ist
    _FFTabClose($Socket)
    ;tab schließen
    EndIf
    EndIf

    [/autoit]

    Grüße
    Stilgar

  • Ich suche in dem Text die Zeile
    Universumα-Quadrant, Sektoren 16-0 bis 7-7Sektor 22-05

    um zu überprüfen ob eben ein neuer Sektor aufgerufen wurde (in diesen Fall 22-05)

  • Geht ja net darum das er/ihr das jetzt macht. Sondern er hat ja im Kommentar geschrieben das nach ner Zeile suchen vll der falsche weg ist.

    Wenn du mir die entsprechenden functionen sagst, geh ich in die autoit manuel und versuchs selber ;)

  • [autoit]

    $sText = _FFReadText($Socket)
    $suchmuster = "a-Quadrant, Sektoren"
    $sText2 = StringRegExp ( "$sText", "$suchmuster", 1)

    [/autoit]

    so ist richtig, richtig ?

  • Nein, mehrere Fehler:
    - Die Variablen gehören nicht in "Anführungszeichen" (kann man zwar einstellen, ist bei AutoIt allerdings nicht sehr sinnvoll).
    - Dein Suchmuster für die RegEx wird in dem Fall nichts finden.

    Probiers mal so:

    Spoiler anzeigen
    [autoit]

    $sText = "Universumα-Quadrant, Sektoren 16-0 bis 7-7Sektor 22-05"
    $sSuchmuster = "Sektor ([\d]+-[\d]+)$"

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

    $aText = StringRegExp($sText,$sSuchmuster,1)
    If not @error Then MsgBox(64,"Sektor",$aText[0])

    [/autoit]

    Grüße
    Stilgar