PDA

View Full Version : very basic applescript just won't work




konifer
Jan 2, 2007, 05:17 PM
I'm a total newbie with applescript, and have looked around to try and find an answer to this, as well as tried to find ways around it but am a bit stuck...

I am trying to use an incredibly basic task with applescript, but I can't get it to work...

what I'm trying to do is:


go to a specific URL
tab down to my username
press enter to login (the user and password are saved and are already there, using firefox)


so my code looks like this (I hope I'm doing this right..):

set CR to ASCII character of 13
open location "http://www.myurl.com"
keystroke tab
keystroke CR

However I get an applescript error telling me

Can't make keystroke " " into type reference.

with the "keystroke tab" element highlighted..

what am I doing wrong?



HexMonkey
Jan 2, 2007, 06:06 PM
keystroke is a command in the System Events dictionary so you need to embed it in a tell application "System Events" block.

The other problem you might run into is that the commands in the script following the open location line are run before the page has finished loading. As a workaround I've put in a delay of a few seconds before the keystrokes are sent, but you might want to adjust the number depending on the time it takes the page to load for you, and how consistent it is.

tell application "Firefox" to activate
set CR to ASCII character of 13
open location "http://forums.macrumors.com"
delay 3
tell application "System Events"
keystroke tab
keystroke CR
end tell

konifer
Jan 2, 2007, 06:12 PM
absolutely perfect, that's exactly what was needed..

I tried delaying it before but it didn't change anything, it was obviously just the system events part that was wrong.. I wonder why I couldn't find that anywhere?

anyway thanks ever so much!!