¿Cómo guardar la lista de pestañas abiertas de Safari en un archivo de texto?

Abro muchas pestañas que son importantes para mí. ¿No hay una manera más fácil de instalar algo que cree un archivo TextEdit en mi escritorio con todas las URL abiertas en ese momento?

En el pasado, usé SafariTabsListDs de Eelee, pero parece que ya no funciona.

¿Me pueden ayudar con algo que pueda usar para reabrir las pestañas que quiero después de cerrarlas?

Respuestas (4)

El siguiente código AppleScript de ejemplo escribirá la URL de cada pestaña de cada ventana de Safari en un archivo llamado MyURLs.txt en su escritorio :

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

Para abrir las URL en, por ejemplo, MyURLs.txt , puede usar, por ejemplo:

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
  • El ejemplo de código AppleScript anterior asume que Safari es su navegador web predeterminado.

Nota: El código AppleScript de ejemplo es solo eso y no contiene ningún manejo de errores adicional que pueda ser apropiado. El usuario tiene la responsabilidad de agregar cualquier manejo de errores que sea apropiado, necesario o deseado. Eche un vistazo a la declaración de prueba y la declaración de error en la Guía del lenguaje AppleScript . Consulte también Trabajar con errores . Además, el uso del comando de retardo puede ser necesario entre eventos cuando sea apropiado, por ejemplo , con el valor del retardo establecido apropiadamente. delay 0.5

Enumere la URL de todas las pestañas en la ventana frontal:

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

Enumere la URL de todas las pestañas en todas las ventanas:

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

Enumere la URL y el título de todas las pestañas en la ventana frontal:

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

Primero debe mirar las opciones disponibles que pueden hacer lo requerido.

  • Lo más simple es la historia: presione command+ Ypara obtener una lista de los sitios visitados que se pueden ordenar por tiempo. Además, si selecciona varios sitios, usando shift+clic o command+clic , o shift+ up/ downflecha , puede abrirlos todos de una sola vez. También puede copiar todos los elementos seleccionados, pegar una nota en la aplicación Notas y obtendrá enlaces.
  • Marcadores o lista de lectura: Safari ofrece una opción en el menú Marcadores para agregar todas las pestañas en una ventana para agregarlas a Marcadores o lista de lectura. Sin embargo, deberá limpiarlos periódicamente. Pero lo bueno es que también puede exportar eso, usando el menú Archivo> "exportar marcadores" a un archivo HTML en el que es fácil hacer clic en los enlaces.

Si le preocupa perder una sesión cuando cierra Safari, debe hacer esto: Abra las preferencias del sistema> General y desmarque "cerrar ventanas al salir de una aplicación".

ingrese la descripción de la imagen aquí

Ahora puede salir de safari usando command+ Q& cuando lo abra más tarde, aparecerán todas las pestañas y ventanas, incluidas las que están en modo privado.

Un AppleScript también puede almacenar la URL de todas las pestañas abiertas en todas las ventanas en un archivo de texto. Un buen punto de partida es:

Agradezco las respuestas en esta página. He agregado un cuadro de diálogo para permitir que el usuario seleccione la ventana frontal de Safari o todas las ventanas. Espero que esto pueda ser útil para alguien. (No pude hacer funcionar el prefijo de fecha).

    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