Bestimmte Zeile aus Quelltext lesen

  • Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    $videofile = "C:\[ Download ]\vids\test.avi"
    $oIE = _IECreate ("http://www.imagesocket.com",0,1,1,0)
    WinMove("(iS) Image Socket","",0,0,800,1000)
    ControlClick("(iS) Image Socket","","","left",1,562,299)
    Sleep(2000)
    ControlClick("(iS) Image Socket","","","left",1,270,357)
    Send($videofile&"{BS 4}_titlepic.jpg")
    ControlClick("(iS) Image Socket","","","left",1,270,379)
    Send($videofile&"{BS 4}_preview_tn.jpg")
    ControlClick("(iS) Image Socket","","","left",1,270,401)
    Send($videofile&"{BS 4}_preview_large.jpg")
    ControlClick("(iS) Image Socket","","","left",1,254,664)
    ControlClick("(iS) Image Socket","","","left",1,380,723)
    _IELoadWait($oIE)
    $source = _IEDocReadHTML($oIE)
    $linkline = FileReadLine($source,48)
    MsgBox(0,"",$linkline)

    [/autoit]


    Das ganze funktioniert noch nicht ganz. An was kanns liegen?

    Einmal editiert, zuletzt von Taek (5. August 2008 um 13:47)

    • Offizieller Beitrag
    Zitat

    $linkline = FileReadLine($source,48)


    Unabhängig davon, dass diese Zeile nicht realisierbar ist (s. Antwort McPoldy):
    Der gewählte Variablenname läßt vermuten, dass du einen Link selektieren willst. Warum willst du das über Textfunktionen machen? Dazu gibt es doch _IELinkGetCollection. :whistling:

  • Mit _IELinkCollection bekomme ich jetzt alle 26 Links. Allerdings brauch ich nur Link 20, 21 und 22. Wie krieg ich die raus?

    • Offizieller Beitrag

    Allerdings brauch ich nur Link 20, 21 und 22. Wie krieg ich die raus?


    Die Links sind indexiert (erster Index 0, zweiter Index 1 usw.). Du mußt also die Funktion nur mit Index aufrufen:

    [autoit]

    $oLink1 = _IELinkGetCollection($oIE, 19)
    $oLink2 = _IELinkGetCollection($oIE, 20)
    $oLink3 = _IELinkGetCollection($oIE, 21)

    [/autoit]

    Edit: Kaum guckt man schnell in die Küche zum Essen, schon war wieder jemand schneller... :D

  • Super hat funktioniert, Danke!

    Hier noch der Code

    Spoiler anzeigen
    [autoit]

    Func Bilder_hochladen($videofile)
    $check_online = Ping("www.imagesocket.com",4000)
    If Not $check_online Then
    Msgbox(0,"Fehler","Die Verbindung mit dem Server konnte nicht hergestellt werden.")
    Else
    $oIE = _IECreate ("http://www.imagesocket.com",0,1,1,0)
    WinMove("(iS) Image Socket","",0,0,800,1000)
    ControlClick("(iS) Image Socket","","","left",1,562,299)
    Sleep(2000)
    ControlClick("(iS) Image Socket","","","left",1,270,357)
    Send(@ScriptDir&"\Temp\images\"&$videofile&"{BS 4}_titlepic.jpg")
    ControlClick("(iS) Image Socket","","","left",1,270,379)
    Send(@ScriptDir&"\Temp\images\"&$videofile&"{BS 4}_preview_tn.jpg")
    ControlClick("(iS) Image Socket","","","left",1,270,401)
    Send(@ScriptDir&"\Temp\images\"&$videofile&"{BS 4}_preview_large.jpg")
    ControlClick("(iS) Image Socket","","","left",1,254,664)
    ControlClick("(iS) Image Socket","","","left",1,380,723)
    _IELoadWait($oIE)
    $GetLink1 = _IELinkGetCollection ($oIE,19)
    $Link1 = $GetLink1.href
    $GetLink2 = _IELinkGetCollection ($oIE,20)
    $Link2 = $GetLink2.href
    $GetLink3 = _IELinkGetCollection ($oIE,21)
    $Link3 = $GetLink3.href
    EndIf
    EndFunc

    [/autoit]