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?
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
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.
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".
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