Firefox doesn't really play in the Applescripting world. See this bug filed against it, and vote for that bug if you'd like to make it Applescriptable.
However, there are some workarounds for Firefox 2. Adium uses this:
if ((application processes whose (name is equal to "firefox-bin")) count) is greater than 0 then tell application "Firefox" if (count of every window) is greater than 0 then set the end of candidateURLs to «class curl» of window 1 end if end tell end if
Hengist says this might be written in appscript like this:
from appscript import * ff = app('Firefox') appscriptref = ff.windows aemref = appscriptref.AS_aemreference aemref = aemref.property('curl') appscriptref = ff.AS_newreference(aemref) print appscriptref.get()
Unfortunately, Firefox 3 broke this workaround.