Quelltext offener Tabs auslesen

  • Tach zusammen,

    folgendes Szenario:
    Ich habe Firefox mit mehreren Tabs offen. Diese bereits offenen Tabs sollen nun nach Möglichkeit per AutoIt durchgetabbt werden. Dann möchte ich von jedem Tab optimalerweise die URL, oder, wenns nicht geht, den Quelltext auslesen und wegspeichern.

    Mein Problem liegt bereits darin, die URL, bzw. den Quelltext komfortabel auszulesen.

    Kann mir da bitte jemand helfen?

    Viele Dank und viele Grüße,
    Lincoln

    Einmal editiert, zuletzt von lincolnhawk (16. Dezember 2009 um 11:46)

  • Hey Dominik,

    danke für die nette Begrüßung. Gefällt mir bei euch im Forum :)

    Ok, dann warte ich mal, bis Stilgar sich zu meinem Thema meldet.

    Gruß,
    Linc

  • Hallo,

    willkommen im Forum. (und nicht darauf verlassen, daß ich alles lese ;) )

    Schnell und mit undokumentierten Funktionen:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <FF.au3>

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

    Main()

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

    Func Main()
    If _FFConnect() Then
    Local $iTabs = _FFGetLength("tabs")
    Local $aURLs[$iTabs]
    For $i = 0 To $iTabs -1
    $aURLs[$i] = _FFCmd("gBrowser.getBrowserAtIndex(" & $i & ").contentDocument.location.href")
    Next

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

    _ArrayDisplay($aURLs)
    EndIf

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

    EndFunc

    [/autoit]
  • Hey Stilgar,

    ich hätte dich schon drauf aufmerksam gemacht wenn nix gekommen wär ;)

    Kann ich deinen Quellcode einfach auf jedes Browserfenster, welches einen Fokus hat, anwenden?
    Bei mir funktioniert es so leider nach Copy&Paste nicht. Muss ich das Fenster vorher noch irgendwie initialisieren oder so ähnlich?

    Edit: Oder hab ich mir die falsche Array.au3 gezogen? Hab sie hier her (erster Link).

    Einmal editiert, zuletzt von lincolnhawk (15. Dezember 2009 um 19:06)

  • _FFConnect verbindet sich immer mit dem zuletzt geöffneten Browserfenster.

    Bei "Startschwierigkeiten" auch bitte man das dort durchlesen:
    https://autoit.de/index.php?page=Thread&amp;threadID=13983

    Hier eine noch "einfachere" Variante:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <FF.au3>
    Main()
    Func Main()
    If _FFConnect() Then
    Local $aURLs = _FF_TabGetAllURLs()
    _ArrayDisplay($aURLs)
    EndIf
    EndFunc ;==>Main
    ;===============================================================================
    Func _FF_TabGetAllURLs()
    Return StringSplit(_FFCmd("ret='';for(i=0;i<gBrowser.tabContainer.childNodes.length-1;i++){ret+=gBrowser.getBrowserAtIndex(i).contentDocument.location.href+'|'}ret+gBrowser.getBrowserAtIndex(i++).contentDocument.location.href;"), "|")
    EndFunc ;==>_FF_TabGetAllURLs

    [/autoit]
  • Hey, wie geil.

    Es hat geklappt... YOU MADE MY DAY!!!!!!!
    DANKE, DANKE!!!!!!!

    Das war mal sehr schnelle, kompetente Hilfe :thumbup:

  • Hey,
    danke, stimmt. Es funktioniert einfach durch den #include-Befehl.

    Und wieder was gelernt :)