1 votes

Dans Safari, est-il possible d'ouvrir un ensemble de signets dans un dossier de manière programmatique (par exemple, à l'aide d'AppleScript) ?

J'ai un ensemble de signets dans un dossier. Habituellement, je les ouvre en sélectionnant le dossier, puis en cliquant sur "Ouvrir dans de nouveaux onglets". Est-il possible de faire cela en utilisant un script ? J'imagine qu'AppleScript serait le bon outil ici, mais tout ce qui est inclus dans le système fonctionnerait comme réponse.

1voto

user3439894 Points 52496

Si vous voulez simplement script le clic va le Ouvrir dans de nouveaux onglets élément de menu de la cible dossier sous Signets alors la formule suivante exemple AppleScript code le fera :

set bookmarksFolder to "Saved Tabs"

tell application "Safari" to activate

delay 1

tell application "System Events" to ¬
    click menu item "Open in New Tabs" of ¬
        menu 1 of ¬
        menu item bookmarksFolder of ¬
        menu 1 of ¬
        menu bar item "Bookmarks" of ¬
        menu bar 1 of ¬
        application process "Safari"

Changez juste "Saved Tabs" dans la première ligne de code à l'actuel nom de la cible dossier sur le Signets menu .

Voici quelque chose d'un peu plus robuste

J'ai différents jeux de URLs que je regroupe en différents Windows par eux-mêmes, et ont fait un AppleScript application de la code . Vous pouvez utiliser le exemple AppleScript code ci-dessous pour faire de même :

set myURLs to {¬
    "https://somedomain.com", ¬
    "https://somedomain.com", ¬
    "https://somedomain.com", ¬
    "https://somedomain.com", ¬
    "https://somedomain.com", ¬
    "https://somedomain.com", ¬
    "https://somedomain.com", ¬
    "https://somedomain.com"}

tell application "Safari"
    make new document with properties {URL:first item of myURLs}
    activate
    tell window 1
        set bounds to {0, 22, 1136, 844}
        delay 1
        repeat with i from 2 to count myURLs
            set current tab to (make new tab with properties {URL:item i of myURLs})
            delay 2
        end repeat
        set current tab to fourth tab
    end tell
end tell

Évidemment "https://somedomain.com" est juste un support pour le vrai URL . Le site set bounds … y set current tab … commandes peut être ajustée à votre goût ou omise.

J'ai appelé le AppleScript application Mes sites habituels et lui a donné une belle icône à travers le Obtenir des informations fenêtre et le mettre dans le Quai .

Cela rend l'ouverture très facile Safari avec un fenêtre contenant mes sites habituels.


Remarque : Le <em>exemple </em><strong>AppleScript </strong><em>code </em>est juste cela et ne contient pas de <em>gestion des erreurs </em>comme il se doit. C'est à l'utilisateur qu'il incombe d'ajouter toute <em>gestion des erreurs </em>selon ce qui est approprié, nécessaire ou souhaité. Consultez le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>essayez </strong></a><em>déclaration </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>erreur </strong></a><em>déclaration </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guide du langage AppleScript </strong></a>. Voir aussi, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Travailler avec des erreurs </strong></a>. En outre, l'utilisation de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retarder </strong></a><em>commande </em>peut être nécessaire entre les événements, le cas échéant, par ex. <code>delay 0.5</code> avec le <em>valeur </em>de la <em>retarder </em>définis de manière appropriée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X