Last active
October 25, 2024 16:32
-
-
Save edenwaith/2213a764ccb091d6a03989f238efb63f to your computer and use it in GitHub Desktop.
AppleScript: Count the number of open tabs in Safari
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- CountOpenSafariTabs.scpt | |
-- Author: Chad Armstrong | |
-- Date: 13 May 2016 | |
-- Description: Count the number of open tabs in Safari | |
-- To run from CLI: osascript CountOpenSafariTabs.scpt | |
tell application "Safari" | |
--Variables | |
set winlist to every window | |
set totaltabcount to 0 | |
-- Loop through each window to count the number of open tabs | |
repeat with win in winlist | |
try | |
set tabcount to number of tabs in win | |
set totaltabcount to totaltabcount + tabcount | |
-- log "tab count: " & tabcount & " totaltabcount: " & totaltabcount | |
on error errmsg | |
-- Often getting error message like this: | |
-- "Safari got an error: AppleEvent handler failed." | |
-- log "error message: " & errmsg | |
end try | |
end repeat | |
log "There are " & totaltabcount & " Safari tabs open." | |
end tell |
@sebma see this: https://apple.stackexchange.com/questions/260540/how-to-install-user-applescripts-for-safari-and-activate-the-scripts-menu-item
an alternative method would be to install the script as a Service, so it's accessible from any app, including Safari
A bit briefer and quicker:
tell application "Safari" to return the number of tabs in windows
@ChristoferK Excellent suggestion. That's much simpler, cleaner, and noticeably faster version of the script.
A Google Chrome version of that script would be:
tell application "Google Chrome" to return the number of tabs in windows
A bit briefer and quicker:
tell application "Safari" to return the number of tabs in windows
Thanks this works great!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@edenwaith Hi,
How can I run this from Safari ?