Quelltext eines Frames lesen

  • Hi Leute,
    ich versuche gerade verzweifelt aus einem Frame den Quelltext zu lesen.
    HAt mir da einer ein Beispiel wie ich das machen kann ?

    Angenommen ich habe 3 Frames :
    Frame1, Frame2, Frame3
    Die namen lauten genau so.

    ICh möchte den Quelltext aus Frame2 lesen wie veranstalte ich das ?

    Vielen Dank für eure Hilfe im voraus.

    mfg

    Einmal editiert, zuletzt von Observer (25. November 2008 um 13:58)

  • so in etwa

    [autoit]

    $html = _INetGetSource("http://Seitemit3forms.de")
    $Array = _StringBetween($html, '<form id="Form2"', '</form>')
    $Quelltext = '<form id="form2"' & _ArrayToString($Array, "") & '</form>'

    [/autoit]
  • Hi, ich kann es gerade nicht testen, da ich bei der Arbeit bin.

    Aber für mich sieht das eher nach Formular aus.
    Ich meinte von einem Frame.

    Aber falls es doch so geht da es im Prinzip ja auch eine seite ist die geladen wird, Danke ich schonmal im voraus.

    mfg

  • ah hatte ich verwechselt dann brauchst du bloß die erste Zeile in dem du den link zum Frame angibst

    • Offizieller Beitrag

    Ich denke nicht, dass das so funktioniert, denn dazu müßtest Du ja die URL der Seite kennen, die in dem Frame angezeigt wird. Die ändert sich aber mit jedem Klick auf einen der Links.

    Man müßte also die Seite anzeigen lassen und dann die gerade aktive Seite auslesen.
    Ich habe mal ein Beispielscript erstellt, bei dem man per Hotkey (ALT+s) den Quelltext des Frames angezeigt bekommt.

    Spoiler anzeigen
    [autoit]


    #include<WindowsConstants.au3>
    #include<EditConstants.au3>
    #include <IE.au3>
    Opt('WinTitleMatchMode', 2)
    $oIE = _IECreate('www.elektronik-kurs.de') ; <-- hier die Frame-Url eintragen
    $oFrame = _IEFrameGetObjByName($oIE, 'inhalt') ; <-- hier den Namen des Frames eintragen
    $Gui = GUICreate('', 800, 600, 0, 0)
    $Edit = GUICtrlCreateEdit('', 5, 5, 790, 590)
    GUICtrlSetFont(-1, 10, 400, 0, 'Courier New')
    GUISetState()
    HotKeySet('!s', '_ReadSource') ; Hotkey: [Alt] + [s]
    Do
    If Not WinExists('Microsoft Internet Explorer') Then Exit
    Until GUIGetMsg() = -3
    WinClose('Microsoft Internet Explorer')

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

    Func _ReadSource()
    $sHTML = _IEDocReadHTML($oFrame)
    GUICtrlSetData($Edit, $sHTML)
    EndFunc

    [/autoit]
  • Muss aber sagen, das Script von Ihm ist echt Nützlich.
    So kann ich mir immer ohne viel rum und num machen den Quelltext anzeigen lassen ;)
    Habe es Ähnlich wie du hinbekommen nur nicht ganz so Komfortabel xD

    Echt Superarbeit danke dir Oscar :rock: :rock: :rock: !!
    3 Oscars für dich

    mfg