How do I get a link over which my mouse cursor hovers?

Hey Mirizzi,

This is a trifle tricky, because it depends upon the URL showing in Safari's Status Bar, and websites can do more than show the URL of the link you're hovering over.

This runs from an 'Execute AppleScript' Action.

-Chris

Edit: Script updated 2015/05/16 to make the regex more comprehensive.

--------------------------------------------------------------
# Auth: Christopher Stone
# dCre: 2015/05/14 13:55
# dMod: 2015/05/16 00:17
# Appl: Progressive Downloader, Safari, System Events
# Task: Download the item the mouse is hovering on.
# Libs: None
# Osax: None
# Tags: @Applescript, @Script, @Progressive_Downloader, @Safari, @System_Events, @Download
#     : @Mouse, @Hover
--------------------------------------------------------------

set _destination to path to downloads folder

tell application "Safari"
  tell front document
    set _referer to its URL
  end tell
end tell

tell application "System Events"
  if quit delay ≠ 0 then set quit delay to 0
  tell application process "Safari"
    # set frontmost to true
    tell front window
      set _url to value of static text of group 2
      if class of _url is list and length of _url = 1 then set _url to item 1 of _url
    end tell
  end tell
end tell

if _url contains "http:" then
  set _url to do shell script "perl -wlne 'if ( m!https?://[^[:blank:]”'\"'\"'\"]+!i ) { print $& }' <<< " & quoted form of _url
  if _url starts with "http" then
    progressiveDownloader(_referer, {_url}, _destination)
  end if
end if

--------------------------------------------------------------
--» HANDLERS
--------------------------------------------------------------
on progressiveDownloader(_referer, _linkList, _destination)
  tell application "Progressive Downloader"
    if not running then run
    activate
    repeat with i in _linkList
      set _task to make new task
      tell _task
        set address to i
        set referer to _referer
        set destination to _destination
      end tell
    end repeat
    if (count of tasks) > 0 then
      # resume _task
    else
      error "No Tasks in Progressive Downloader!"
    end if
  end tell
end progressiveDownloader
--------------------------------------------------------------