Quelltext der gerade im Browser geöffneten Seite ausgeben

  • Hallo,

    per _StringBetween(_INetGetSource("adresse"), "string1", "string2") lasse ich mir einen Teil des Quelltextes einer Seite ausgeben.
    Das funktioniert auch super.

    Nur ist jetzt das Problem, dass dieser Teil dynamisch ist, also er sich immer aus unterschiedlichen Wörtern zusammensetzt.
    Deshalb brauche ich eine Funktion, die den Quelltext einer gerade im Browser geöffneten Seite ausgibt.

    Gibt es die?

    MfG

  • Wenn du Firefox verwendest kannst du die es so aufbauen:

    [autoit]

    _FFConnect()
    If @error Then
    MsgBox(0,"","Can't connect to Firefox")
    Exit
    Endif
    $shtml = _FFReadHTML()
    _FFDisconnect()
    ;jetzt der rest deines skripts, $shtml ist der Quellcode

    [/autoit]
  • Eigentlich schon, du musst allerdings die FF.au3 downloaden und includen, und das Addon Mozrepl installieren.

    Mein Tipp:

    Lade dir FF.au3 und FFEx.au3 runter (gibts im Forum unter "Firefox-Automatisiation") include die FFEx.au3, und setze an den anfang des skripts

    [autoit]

    _FF_MozReplDetect()

    [/autoit]

    das überprüft ob MozRepl existiert und installt es, falls nicht

  • Bei _FFStart() aber auch _FFConnect() hängt sich das Script auf...

    Also man kann nur ca. alle 3 Sekunden etwas im GUI anklicken und dann reagiert es für 3s wieder nicht

    Wieso das?


    edit:
    auch diese Beispiel von der Page liefert nur oben genannte Ergebnisse (nämlich keine!):

    [autoit]

    #include <FF.au3> ; Muss immer da sein

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

    _FFStart("www.web.de") ; oder _FFConnect() wenn FireFox bereits offen sein sollte! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen

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

    If _FFIsConnected() Then ; Wenn FireFox nun verbunden ist, dann...
    Sleep (1000) ; 1 Sekunde zum Verdeutlichen
    _FFOpenURL ("www.google.de") ; Navigiert uns zu "www.google.de"
    Sleep (1000) ; 1 Sekunde zum Verdeutlichen
    _FFQuit() ; Beendet das Ganze wieder
    Else ; Wenn FF nicht verbunden ist...
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf

    [/autoit]
  • Ja, ist installiert.
    Ich habe von der Website (http://wiki.github.com/bard/mozrepl/ ) gleich auf der ersten Seite http://repo.hyperstruct.net/mozrepl/1.0/mozrepl.xpi installiert.

    Was für eine Konsole? Das was im SciTE Editor steht?
    Wenn ja:

    Wenn ich folgenden Code benutze

    [autoit]

    _FFConnect()
    If @error Then
    MsgBox(0,"","Can't connect to Firefox")
    Exit
    Else
    MsgBox(0,"","ok")
    Endif
    $shtml = _FFReadHTML()
    _FFDisconnect()

    [/autoit]

    und dann eben, wenn das Script nicht mehr reagiert, es beende, steht da

    Code
    _FFConnect: OS:	WIN_XP WIN32_NT 2600 Service Pack 2
    _FFConnect: AutoIt:	3.3.0.0
    _FFConnect: FF.au3:	0.6.0.1b-4
    _FFConnect: IP:	127.0.0.1
    _FFConnect: Port:	4242
    _FFConnect: Delay: 	2ms
    >Exit code: 0	Time: 7.876

    Aber keine Errors oder so...
    Muss ich vielleicht irgendwelche Ports freigeben?