Firefox doesn't really play in the Applescripting world. See [https://bugzilla.mozilla.org/show_bug.cgi?id=125419 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[1] aemref = appscriptref.AS_aemreference aemref = aemref.property('curl') appscriptref = ff.AS_newreference(aemref) print appscriptref.get()
Unfortunately, [https://bugzilla.mozilla.org/show_bug.cgi?id=427448 Firefox 3 broke this workaround].