very basic applescript just won't work

Discussion in 'Mac Programming' started by konifer, Jan 2, 2007.

  1. konifer macrumors newbie

    Jan 2, 2007
    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 ""
    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?
  2. HexMonkey Administrator


    Staff Member

    Feb 5, 2004
    New Zealand
    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 ""
    delay 3
    tell application "System Events"
    	keystroke tab
    	keystroke CR
    end tell
  3. konifer thread starter macrumors newbie

    Jan 2, 2007
    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!!

Share This Page