URL von Download-Fenster holen

  • Moin!
    Ist das irgendwie machbar!
    habe es schon unter dem internet explorer probiert mit der ie.au3, war aber irgendwie zu blöd zu.

  • Hmmm ... Klappt irgendwie nich. Er gibt mir immer nur den Link von der bereits geöffneten Internetseite aus und nicht vom Download-Fenster!

  • In FF kannst du das Download-Fenster über die Adresse:
    chrome://mozapps/content/downloads/downloads.xul
    aufrufen.
    Wie man dort allerdings eine URL abfrägt such ich auch noch.

  • Schön, schon mal etwas weiter, nach dem zerlegen des Plugins ...

    Wenn man also die chrome-Adresse mit den Downloads aufgerufen hat, kann man mit

    Code
    document.getElementById("download-name").value;
    document.getElementById("download-uri").value;
    document.getElementById("rowReferrer").value;
    document.getElementById("download-referrer").value;
    document.getElementById("download-size").value;
    document.getElementById("download-directory").value;

    die einzelnen Infos zum aktuell markierten Download abrufen bzw. eben in AutoIt mit:

    [autoit]

    $url = _FFSetGet($Socket,'document.getElementById("download-uri").value')

    [/autoit]
  • klappt irgendwie auch net.
    bekomme diese Fehlermeldung:

    !!! TypeError: document.getElementById("download-uri") is null

  • So. Hab ne Funktion, die das im INI-Style zurückgibt :)

    Spoiler anzeigen
    [autoit]

    #include<FF.au3>
    $FF = _FFStart("chrome://mozapps/content/downloads/downloads.xul","Test",10)

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

    $Func = "FF_AutoItScript.DownloadInfo = function DownloadInfo()" & @LF & _
    "{" & @LF & _
    " var rb = content.document.getElementById(""downloadView"");" & @LF & _
    " if ( rb.itemCount > 0 )" & @LF & _
    " {" & @LF & _
    " //return rb.tagName;" & @LF & _
    " var retstring='';" & @LF & _
    " var ri;" & @LF & _
    " for (var looop=0;looop< rb.getRowCount();looop=looop+1) {" & @LF & _
    " ri = rb.getItemAtIndex(looop);" & @LF & _
    " retstring = retstring + '[' + ri.getAttribute(""target"") + ']\r\n';" & @LF & _
    " retstring = retstring + 'URI=' +ri.getAttribute(""uri"") + '\r\n';" & @LF & _
    " retstring = retstring + 'target=' +ri.getAttribute(""target"") + '\r\n';" & @LF & _
    " retstring = retstring + 'Referrer='+ri.getAttribute(""referrer"") + '\r\n';" & @LF & _
    " retstring = retstring + 'Path='+ri.getAttribute(""path"") + '\r\n';" & @LF & _
    " retstring = retstring + '\r\n';" & @LF & _
    " }" & @LF & _
    " return retstring;" & @LF & _
    " }" & @LF & _
    "}"
    _FFSetGet($FF,$Func)
    Sleep(1000)
    $GET = _FFSetGet($FF,'FF_AutoItScript.DownloadInfo();')
    MsgBox(0, '', $GET)

    [/autoit]


    Weitere Attribute wären: ( mit DOM Inspektor)

    Spoiler anzeigen
  • Habe es jetzt endlich hinbekommen, hatte nur einen kleinen Fehler. Danke für eure topp hilfe!!!!