Wie speichere ich die Liste der geöffneten Safari-Tabs in einer Textdatei?

Ich öffne viele Registerkarten, die für mich wichtig sind. Gibt es nicht eine einfachere Möglichkeit, etwas zu installieren, das eine TextEdit-Datei auf meinem Desktop erstellt, wobei alle URLs zu diesem Zeitpunkt geöffnet sind?

In der Vergangenheit habe ich SafariTabsListDs von Eelee verwendet, aber das scheint nicht mehr zu funktionieren.

Können Sie mir mit etwas helfen, mit dem ich die gewünschten Registerkarten nach dem Schließen wieder öffnen kann?

Antworten (4)

Der folgende Beispiel -AppleScript- Code schreibt die URL jeder Registerkarte jedes Fensters von Safari in eine Datei namens MyURLs.txt auf Ihrem Desktop :

set myURLs to {}
tell application "Safari" to set myURLs to the URL of every tab of every window
set text item delimiters to linefeed
set myURLs to myURLs as text
set text item delimiters to {}
if not myURLs is equal to "" then
    do shell script "echo " & myURLs's quoted form & "> $HOME/Desktop/MyURLs.txt"
end if

Um die URLs z. B. in MyURLs.txt zu öffnen , können Sie z. B. Folgendes verwenden:

set myURLs to {}
try
    set myURLs to paragraphs of (do shell script "cat $HOME/Desktop/MyURLs.txt")
end try
if not myURLs is equal to {} then
    repeat with thisURL in myURLs
        open location thisURL
    end repeat
end if
  • Der AppleScript- Beispielcode oben geht davon aus, dass Safari Ihr Standard-Webbrowser ist.

Hinweis: Der Beispiel- AppleScript- Code ist genau das und enthält keine zusätzliche Fehlerbehandlung , die möglicherweise angemessen ist. Es liegt in der Verantwortung des Benutzers, eine Fehlerbehandlung hinzuzufügen, die angemessen, erforderlich oder gewünscht ist. Sehen Sie sich die try- Anweisung und die error- Anweisung im AppleScript Language Guide an . Siehe auch Arbeiten mit Fehlern . Zusätzlich kann die Verwendung des Verzögerungsbefehls gegebenenfalls zwischen Ereignissen notwendig sein, z. B. mitdelay 0.5 dem geeignet eingestellten Wert der Verzögerung .

Listen Sie die URL aller Registerkarten im vordersten Fenster auf:

osascript -e{'set text item delimiters to linefeed','tell app"safari"to(url of tabs of window 1)as text'}

Listen Sie die URL aller Registerkarten in allen Fenstern auf:

osascript -e{'set text item delimiters to linefeed','tell app"safari"to(url of tabs of windows)as text'}

Listen Sie die URL und den Titel aller Registerkarten im vordersten Fenster auf:

osascript -e{'set o to""','tell app"safari"','repeat with t in tabs of window 1','set o to o&url of t&" "&name of t&"\n"',end,end,o}|sed \$d

Sie sollten sich zuerst die verfügbaren Optionen ansehen, die das Erforderliche tun können.

  • Am einfachsten ist die Historie: Hit command+ YSie können eine Liste der besuchten Seiten erhalten, die nach Zeit sortiert werden können. Wenn Sie mehrere Sites auswählen, können Sie mit shift+Klick oder command+Klick oder shift+ up/ downPfeil alle auf einmal öffnen. Sie können auch alle ausgewählten Elemente kopieren, eine Notiz in die Notizen-App einfügen und Sie erhalten Links.
  • Lesezeichen oder Leseliste: Safari bietet im Lesezeichen-Menü eine Option, um alle Registerkarten in einem Fenster hinzuzufügen, die zu Lesezeichen oder Leseliste hinzugefügt werden sollen. Sie müssen sie jedoch regelmäßig löschen. Aber das Gute daran ist, dass Sie das auch exportieren können, indem Sie das Menü Datei > "Lesezeichen exportieren" in eine HTML-Datei verwenden, durch die Sie einfach auf Links klicken können.

Wenn Sie befürchten, dass Sie eine Sitzung verlieren, wenn Sie Safari schließen, sollten Sie Folgendes tun: Öffnen Sie die Systemeinstellungen > Allgemein und deaktivieren Sie „Fenster schließen, wenn Sie eine App beenden“.

Geben Sie hier die Bildbeschreibung ein

Jetzt können Sie Safari mit command+ Q& beenden, wenn Sie es später öffnen, erscheinen alle Registerkarten und Fenster, einschließlich derjenigen im privaten Modus.

Ein AppleScript kann auch die URL aller geöffneten Tabs in allen Fenstern in einer Textdatei speichern. Ein guter Ausgangspunkt ist:

Ich freue mich über die Antworten auf dieser Seite. Ich habe einen Dialog hinzugefügt, um dem Benutzer zu ermöglichen, das vordere Fenster von Safari oder alle Fenster auszuwählen. Ich hoffe, dies kann für jemanden nützlich sein. (Ich konnte das Datumspräfix nicht zum Laufen bringen.)

    set currentDate to do shell script "date +%Y-%d-%m"
    --display dialog currentDate
    set theDialogText to "Write Safari tab URLs to a Desktop text file ...
    Select only the foremost window, or all windows"
    display dialog theDialogText buttons {"cancel", "window 1", "all windows"} default button "window 1" cancel button "cancel"
    set BUTTON_Returned to button returned of result
    set myURLs to {}
    if BUTTON_Returned is "window 1" then
        tell application "Safari" to set myURLs to the URL of every tab of (window 1)
    end if
    if BUTTON_Returned is "all windows" then
        tell application "Safari" to set myURLs to the URL of every tab of (windows)
    end if
    set text item delimiters to linefeed
    set myURLs to myURLs as text
    set text item delimiters to {}
    if not myURLs is equal to "" and BUTTON_Returned is "window 1" then
        do shell script "echo " & myURLs's quoted form & "> $HOME/Desktop/MyURLs.txt"
        --set filename of "~/Desktop/MyURLs.txt" to currentDate & " " & "myURLs.txt"
    end if
    if not myURLs is equal to "" and BUTTON_Returned is "all windows" then
        do shell script "echo " & myURLs's quoted form & "> $HOME/Desktop/MyURLs++.txt"
    end if