Ouvrir L'URL dans le nouvel onglet Safari avec AppleScript
Est-il possible d'utiliser AppleScript pour ouvrir un lien dans un nouvel onglet dans Safari?
11 réponses
Cela fonctionne:
tell application "Safari"
tell window 1
set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
end tell
end tell
je pense que cela fait aussi ce que vous avez demandé, mais il est beaucoup plus court et moins spécifiques à un navigateur:
do shell script "open http://www.webpagehere.com"
ceci ouvrira l'URL spécifiée dans votre navigateur par défaut. Et si vous souhaitez explicitement pour l'ouvrir dans Safari, utilisez ceci:
do shell script "open -a Safari 'http://www.webpagehere.com'"
cela devrait normalement créer un nouvel onglet et le focaliser (ou focaliser un onglet existant si L'URL est déjà ouverte):
tell application "Safari"
open location "http://stackoverflow.com"
activate
end tell
ouvre une nouvelle fenêtre si "ouvrir des pages dans des onglets au lieu de windows" est défini à never though.
tell application "System Events" to open location
ne fonctionne pas avec certaines URL qui contiennent des caractères non-ASCII:
set u to "http://ja.wikipedia.org/wiki/漢字"
tell application "System Events" to open location u
--tell application "Safari" to open location u
--do shell script "open " & quoted form of u
ceci ouvre un nouvel onglet même lorsque de nouvelles pages sont définies pour ouvrir dans windows:
tell application "Safari"
activate
reopen
tell (window 1 where (its document is not missing value))
if name of its document is not "Untitled" then set current tab to (make new tab)
set index to 1
end tell
set URL of document 1 to "http://stackoverflow.com"
end tell
tell application "System Events" to tell process "Safari"
perform action "AXRaise" of window 1
end tell
set index to 1
ne soulève pas la fenêtre, mais il fait le la fenêtre apparaît comme window 1
pour les Événements du Système, qui peut AXRaise
.
Code:
tell application "System Events"
tell application "Safari" to activate
tell process "Safari"
click menu item "New Tab" of menu "File" of menu bar 1
end tell
end tell
tell application "Safari"
set URL of document 1 to "http://www.stackoverflow.com/"
end tell
un problème est que cela ne fonctionne que si la langue du système est définie à l'anglais.
j'ai utilisé le script suivant pour ouvrir des centaines de docs dans des onglets dans une fenêtre unique.
tell application "Safari"
tell window 1
make new tab with properties {URL:"http://foo.com/bar"}
make new tab with properties {URL:"http://foo.com/baz"}
end tell
end tell
tell application "Safari"
tell window 1
set URL of (make new tab) to "http://foo.com/bar"
set make new tab to "http://foo.com/baz"
end tell
end tell
Cela fait longtemps qu'une nouvelle réponse n'a pas été postée ici. Je pense que c'est le meilleur moyen pour ce faire. Il ouvrira Safari s'il n'est pas ouvert, créera une nouvelle fenêtre s'il n'y a pas de fenêtre ouverte, et ajoutera l'onglet à la fenêtre courante (ou nouvellement créée).
tell application "Safari"
activate
try
tell window 1 to set current tab to make new tab with properties {URL:theURL}
on error
open location theURL
end try
end tell
je ne peux pas commenter :-/ donc je vais répondre pour dire que Tim réponse (ci-dessus) fonctionne en tant que système d'exploitation OS X 10.8.5. Cette version en une ligne de son script fonctionne aussi:
tell window 1 of application "Safari" to set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
Arrgh -- la seule ligne déborde. Ici, il est sans les étiquettes de code:
dire à la fenêtre 1 de L'application "Safari" de définir l'onglet courant (faire un nouvel onglet avec les propriétés {URL:"http://www.stackoverflow.com"})
j'ai fini par utiliser automator pour faire ce qui était beaucoup plus facile et cela fonctionne.
vous pouvez essayer l'approche suivante:
//make Safari window active and topmost
tell application "Safari" to activate
//start communication with Safari
tell application "Safari"
tell window 1
//create new tab and open specified URL
tab with properties {URL:"https://url.com"})
//make tab active
set visible to true
end tell
end tell
aussi u peut combiner l'utilisation de Apple script dans FastScript (gratuit pour les 10 raccourci)
pour ajouter votre script - il suffit de sauvegarder le script dans /Library/Scripts
. Après vous serez en mesure de définir quelques raccourcis pour le nouveau script.
Si vous voulez ouvrir une nouvelle Fenêtre de nouvel onglet u peut jouer au sein suivante:
tell application "System Events"
tell process "Safari"
click menu item "New window" of menu "File" of menu bar 1
end tell
end tell
Note: Vous devez autoriser AppleScript à utiliser des fonctionnalités spéciales dans les paramètres de sécurité de ce cas.
pas la solution la plus courte mais fonctionne aussi, et pas seulement en anglais ...
tell application "Safari"
activate
end tell
tell application "System Events"
set frontmost of process "Safari" to true
keystroke "t" using {command down}
end tell
set myURL to "anyurl.html"
delay 2
tell application "Safari" to set the URL of the front document to myURL
a Fonctionné pour moi dans Safari v. 11
tell application "Safari"
tell window 1
make new tab with properties {URL:"https://twitter.com"}
end tell
end tell