IE _IEBodyReadText und IEAttch Error problem

  • hi leute,


    ich komm einfach nicht weiter.

    folgendes:


    ich lese im sekundentakt eine internetseite aus. diese wird aber irgendwann neu geladen und es kommt der fehler:


    AutoIt3\Include\IE.au3 (2241) : ==> Variable must be of type "Object".:
    Return $o_object.document.body.innerText
    Return $o_object.document.body^ ERROR


    das liegt daran, dass beim neuladen der seite der titel sich ändert und _iebodyreadtext von dem _ieattach ein error bekommt.

    der error wäre mir ja egal, wenn da nicht das programm abbrechen würde.

    könnte mir jemand helfen, dass bevor der error kommt, irgendwie nochmal 2 sekunden gewartet wird und dann _ieattach nochmal abgefragt wird, oder kann jemand den error verschwinden lassen ;)

    danke schonmal im vorraus.


    der code wäre wie folgt(ganz kurz):


    $word1 = _IEAttach("bla")

    .

    .

    .


    while 1

    .

    .

    .

    $Text = _IEBodyReadtext($word1)

    .

    .

    .

    wend

    2 Mal editiert, zuletzt von Freak1122 (26. August 2009 um 01:03)

  • hmm, keine lösung wie man den error umgehen kann?


    testen kann man das indem man einfach im ie die kompatibilitätsansicht anklickt.

  • Poste doch mal deinen Quelltext, dann sieht man es evtl. besser (oder ich kapiere heute mal wieder nix).

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • #include <IE.au3>
    while 1
    $seite = _IEAttach("Startseite")
    $Text = _IEBodyReadText($seite)
    sleep(250)
    wend


    z.b. auf dieser startseite von autoit.de

  • OK, nur damit ich das richtig verstehe:

    Du möchtest immer den Body - Bereich von (z.B.) autoit.de auslesen, wenn sich die Seite neu aufbaut bekommst du den Fehler, weil sich der Titel ändert. Aber wie sieht es den mit der URL aus, die sollte ja wohl gleich bleiben, dann könntest du das mit folgendem Befehl machen:

    [autoit]

    #include <IE.au3>
    while 1
    $seite = _IEAttach("autoit","URL")
    $Text = _IEBodyReadText($seite)
    sleep(250)
    wend

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • geht leider auch nicht. :(


    man müsste irgendwie den error bearbeiten können, so dass er nicht das programm beendet