# Applescript: ouvrir plusieurs onglets sur Safari



## SeraphinLampion (21 Janvier 2007)

Je voulais faire un script qui ouvre plusieurs onglets sur safari. La seule solution semble d'utiliser le GUI scripting, c'est à dire simuler des cliks de souris. Je viens de découvrir que sur Firefox, c'est plus simple: pour ouvrir plusieurs URLs dans autant d'onglets, il suffit de séparer les URL par la barre verticale dont je ne me rappelle jamais le nom.
Je viens d'ailleur de finir mon premier Applescript qui me semble être digne d'une publication. Il permet de savoir quels sont les serveurs web branchés sur le réseau, sans avoir à demander au serveur DHCP ce qu'il a fait (tres utile lorsque le serveur DHCP, comme celui de la fritzbox, ne dit pas ce qu'il fait). S'il peut servir à quelqu'un..
Merci à Zeusviper pour la première ligne du script
Applescript:
set AdresseIP to (do shell script "ifconfig | awk '/broadcast/ {print $2}'")
set text item delimiters to "."
set QuatreOctets to text items of AdresseIP
set TroisOctetsCalcules to (items 1 thru 3 of QuatreOctets) as string
set TroisOctetsChoisis to text returned of (display dialog "Trois premiers octets de l'adresse du réseau (sans point à droite)" default answer TroisOctetsCalcules buttons {"OK"})
set PartieDeGauche to "http://" & TroisOctetsChoisis & "."
set Nombre to 30
set URLComplexe to PartieDeGauche & "1"
repeat with i from 2 to Nombre
    set URLComplexe to URLComplexe & "|" & PartieDeGauche & i
end repeat
tell application "Firefox" to OpenURL URLComplexe


----------



## Zeusviper (21 Janvier 2007)

De rien! 

sinon pour safari et les onglets, une méthode entre autres

```
tell application "Safari"
	activate
	tell application "System Events"
		tell process "Safari"
			click menu item "New Tab" of menu "File" of menu bar 1
		end tell
	end tell
set the URL of document 1 to "http://www.macg.co/"
end tell
```

plusieurs scripts safari : http://www.apple.com/applescript/safari/

++


----------



## SeraphinLampion (22 Janvier 2007)

C'est vrai que l'utilisation des system events permet de résoudre la difficulté, mais c'est beaucoup plus long, et surtout, j'ai l'impression que ça cafouille si l'utilisateur touche à son clavier pendant l'opération.


----------

