_IE stürzt ab

  • Hey,

    Ich versuche gerade eine Liste von Links in einer Datei lesbar zu machen.
    D.h. die Links sind per safeyourlink.com geschützt, und mein JDownloader kann mit denen nichts anfangen.

    Ich habe verswucht mithilfe der _IEPropertyGet Funktion die Weiterleitung aufzulösen, und die Links in eine neue Datei zu schreiben.
    Wenn ich es versuche, geht alles Problemlos. Wenn ich die aber durch eine For...Next...To Schleife laufen lasse, öffnet sich das Browserfenster und das Script bleibt hängen.

    [autoit]

    For $i = 0 To UBound($link, 1) - 1
    Local $download = InetRead("http://safeyourlink.com/folder/" & $link[$i])
    Local $download_clear = _StringBetween(BinaryToString($download), 'window.open("', '");')
    Local $oIE = _IECreate($download_clear[0], 1)
    Local $ul = _IEPropertyGet($oIE, "locationurl")
    FileWriteLine($hFile, $ul)
    _IEQuit($oIE)
    Next

    [/autoit]

    Die Links in $download_clear[0] sehen so aus: http://safeyourlink.com/out/[5 Stellige Zahl]_out/

  • [autoit]

    ; Klappt wie normal
    For $i = 0 To UBound($link, 1) - 1

    ; Downloaded erfolgreich eine Datei
    Local $download = InetRead("http://safeyourlink.com/folder/" & $link[$i])

    ; Der Link wird auch korrekt in $download_clear[0] ausgegeben, in [1] oder höher ist nichts!
    Local $download_clear = _StringBetween(BinaryToString($download), 'window.open("', '");')

    ; Mein IE Öffnet den Link in einem neuen Fenster auch erfolgreich
    Local $oIE = _IECreate($download_clear[0], 1)

    ; Im ERSTEN Durchlauf funktioniert das Auslesen der URL noch korrekt,
    ; im zweiten Durchlauf wird aber nur der Browser geöffnet, und danach passiert nichts mehr.
    ; Der Browser wird durch _IEQuit danach auch nicht mehr geschlossen!
    Local $ul = _IEPropertyGet($oIE, "locationurl")

    ; Funktioniert nur, wenn die URL ausgelesen wurde.
    ; Ab dem 2. Durchlauf entsteht eine Leerzeile
    FileWriteLine($hFile, $ul)

    ; Funktioniert ab dem 2. Durchlauf auch nicht mehr
    _IEQuit($oIE)

    Next

    [/autoit]
  • Mach mal bei _IECreate den 2. Parameter weg, also die 1 und versuche es nochmal.