The previous post reminded of one of the oldest scripts I have and still use regularly. I regularly have to gather information found on different webpages and email them to somebody. I try to gather all the relevant webpages in tabs in one Safari and then run this script. It will look at all the tabs in the frontmost Safari Window and build a plain text list out of the titles and links and place that in clipboard, ready to paste into an email or elsewhere.The result will look like this:
Apple
<http://www.apple.com/>
Google
<http://www.google.com/>
Scripting OS X | #! is not a curse word
<https://scriptingosx.com/>
The script is fairly straightforward:
global linkText
on run
set linkText to ""
tell application "Safari"
activate
set w to window 1
set n to 0
try -- this will fail for the downloads window
set n to count tabs of w
end try
if n > 1 then
repeat with t in every tab of w
my appendLineWithDoc(t)
end repeat
else if n = 1 then
my appendLineWithDoc(document of w)
end if
end tell
set the clipboard to linkText
return linkText
end run
on appendLineWithDoc(theDoc)
tell application "Safari"
tell theDoc
try
set linkText to linkText & name
set linkText to linkText & return & "<" & URL & ">" & return & return
end try
end tell
end tell
end appendLineWithDoc
You can save this script in your ~/Library/Scripts/Applications/Safari folder and enable the Script menu and it will be shown only in Safari.