AppleScriptを使用して、Safariの新しいタブでリンクを開くことはできますか?
これは動作します:
tell application "Safari"
tell window 1
set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
end tell
end tell
私はこれもあなたが要求したことを行うと思いますが、それははるかに短く、ブラウザ固有ではありません:
do Shell script "open http://www.webpagehere.com"
これにより、指定したURLがデフォルトのブラウザーで開きます。 Safariで明示的に開きたい場合は、これを使用します。
do Shell script "open -a Safari 'http://www.webpagehere.com'"
これは通常、新しいタブを作成してフォーカスする必要があります(または、URLが既に開いている場合は既存のタブにフォーカスします)。
tell application "Safari"
open location "http://stackoverflow.com"
activate
end tell
「ウィンドウの代わりにタブでページを開く」が設定されていない場合、新しいウィンドウが開きます。
tell application "System Events" to open location
は、非ASCII文字を含む一部のURLでは機能しません。
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
これにより、新しいページがウィンドウで開くように設定されている場合でも、新しいタブが開きます。
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
はウィンドウを上げませんが、ウィンドウをwindow 1
システムイベント。AXRaise
できます。
次のスクリプトを使用して、数百のドキュメントを単一のウィンドウのタブに開きました。
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
ただし、LionのSafari 5.1では動作しません。新しいタブが開きますが、プロパティglobで提供されているURLは読み込まれません。私はそれを次のように変更しましたが、今は動作します:
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
コード:
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
1つの問題は、システムの言語が英語に設定されている場合にのみ機能することです。
新しい回答がここに投稿されてからしばらく経ちました。これが最適な方法だと思います。 Safariが開いていない場合は開き、開いているウィンドウがない場合は新しいウィンドウを作成し、現在の(または新しく作成された)ウィンドウにタブを追加します。
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
私はこれを行うためにオートマトンを使用することになりました。
コメントすることはできません:-/だから、私は(上記の)ティムの答えがOS X 10.8.5の時点で機能すると言って答えます。彼のスクリプトのこの1行バージョンも機能します。
tell window 1 of application "Safari" to set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
配列-1行がオーバーフローしています。ここでは、コードタグがありません。
アプリケーション「Safari」のウィンドウ1に、現在のタブを設定するように指示します(プロパティ{URL: " http://www.stackoverflow.com "}で新しいタブを作成します)
Safariでバックグラウンドで新しいタブを開く方法を見つけました。
tell application "Safari"
set the URL of (make new tab in window 1) to "your.url.net"
end tell
この答えを書いている間、私はこれを作りました
tell application "Safari"
try
display dialog "Website URL" default answer "" buttons {"OK", "Annuler"} default button 1
set theURL to text returned of result
set netProto to "https://"
if theURL contains netProto then
set the URL of (make new tab in window 1) to theURL
else
set the URL of (make new tab in window 1) to netProto & theURL
end if
end try
end tell
新しいバージョン
tell application "Safari"
repeat
try
display dialog "Website URL" default answer "" buttons {"OK", "Annuler"} default button 1
set theURL to text returned of result
if theURL is "" then exit repeat
set netProto to "https://"
if theURL contains netProto then
set the URL of (make new tab in window 1) to theURL
else
set the URL of (make new tab in window 1) to netProto & theURL
end if
display dialog "Do you want to open a new tab?" buttons {"Yes", "No"} default button "Yes"
if button returned of result is "No" then exit repeat
end try
end repeat
end tell
どんな提案でも大歓迎です
宜しくお願いします
次のアプローチを試すことができます:
//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
また、Apple script in FastScript (10個のショートカットで無料)の使用を組み合わせることができます
スクリプトを追加するには、/Library/Scripts
にスクリプトを保存するだけです。新しいスクリプトのショートカットを設定できるようになります。
新しいタブよりも新しいウィンドウを開きたい場合、uは次に再生できます:
tell application "System Events"
tell process "Safari"
click menu item "New window" of menu "File" of menu bar 1
end tell
end tell
注:この場合、AppleScriptがセキュリティ設定でspecialCapabilitiesを使用できるようにする必要があります。
Safari v.11で私のために働いた
tell application "Safari"
tell window 1
make new tab with properties {URL:"https://Twitter.com"}
end tell
end tell
最短の解決策ではありませんが、英語でもだけでなく、うまくいきます...
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