AppleScript名:最前面のウィンドウのタイトルを取得する2 |
set aTitle to getPageTitleOfFrontmostWindow()
on getPageTitleOfFrontmostWindow() tell application "Safari" if (count every window) = 0 then return false tell window 1 set aProp to properties end tell set aDoc to document of aProp set aText to name of aDoc end tell return aText end getPageTitleOfFrontmostWindow |
タグ: Safari
Safariで選択部分のテキストを取得する2
AppleScript名:Safariで選択部分のテキストを取得する2 |
tell application "Safari" set aRes to do JavaScript "var selObj = window.getSelection(); var selStr = (selObj).getRangeAt(0); unescape(selStr);" in document 1 end tell aRes |
Safariの最前面のドキュメントのテキストを取得するv2
AppleScript名:Safariの最前面のドキュメントのテキストを取得するv2 |
–フレームを使っていないことが前提条件 tell application "Safari" set wCount to count every window if wCount = 0 then display dialog "Safariでウィンドウがオープンされていません" buttons {"OK"} default button 1 return end if tell front document set aURL to URL –> http://piyocast.com/as/archives/155 set aTitle to name –> "SafariでURLをローディング – AppleScirpt Hole" –set aCon to text –log aCon end tell set aText to text of front document –本文テキスト end tell |
SafariでURLをローディング
本処理は最近のSafariでは正しくローディング検出できないようになってきたため、書き直したルーチン「SafariでURLローディング完了検出」を利用してください。
AppleScript名:SafariでURLをローディング |
set aURL to "http://www.piyocast.com/as/" –set aURL to "" tell application "Safari" set d to count every window if d = 0 then make new window tell document 1 set URL to aURL end tell else if aURL is not equal to "" then tell document 1 set URL to aURL end tell end if end if page_loaded(10) of me set a to do JavaScript "document.title" in document 1 end tell on page_loaded(timeout_value) repeat with i from 1 to (timeout_value * 10) tell application "Safari" if (do JavaScript "document.readyState" in document 1) is "complete" then return true else if i is the timeout_value then return false else delay 0.1 end if end tell end repeat return false end page_loaded |