Choosing selection from drop down menu on url page

Hey guys. I use a particular website everyday. It requires me to fill out my personal info. I can fill in all my info using keystroke and tab over commands, but I have one hiccup. When I have to choose what state I live in, it requires me to choose from a drop down menu. I tried tabbing over to it and using my arrow keys to make my selection, but when I tab over, it skips the state drop down menu and goes straight to the entry box to fill in my zip code. Is there a way to access this drop down menu?

You can use JavaScript for this.

Change the name ‘category’ to the name of the dropdown list ( or id if using byId).
Also change the selectedIndex to the correct value.


do JavaScript "document.getElementsByName('category')[0].selectedIndex=62"
or
do JavaScript "document. getElementById('category').selectedIndex=62"

Thanks for the quick response Craig. I tried plugging in the following names, but I don’t think it’s right.

do JavaScript "document.getElementsByName('fvState')[0].selectedIndex=Illinois"

I put it into this script:

set theURL to "http://www.mywebsite.com"
tell application "Safari"
	activate
	make new document with properties {URL:theURL}
	do JavaScript "document.getElementsByName('fvState')[0].selectedIndex=Illinois"
end tell

I got the following error:

Safari got an error: Can’t make application “Safari” into type reference.

I used firebug in firefox to inspect the element, and this is the return it gave me from the source page. I don’t know if this helps you or not.

<div style="float: left; margin-right: 13px;">
<label>State</label>
<select name="fvState">
<option selected="selected" value=""/>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AS">American Samoa</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FM">FM</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="GU">Guam</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MH">Marshall Islands</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="MP">MP</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PW">Palau</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VI">Virgin Islands</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
<option value="AE">AE</option>
<option value="AA">AA</option>
<option value="AP">AP</option>
</select>
</div>

selectedIndex must be a number so Illinois will be 16 or 17.

I replaced “illinois” trying both 16 and 17, but my error still remains.

You either need to wrap the do JavaScript in tell document 1 end tell statement or put in document 1 at end of statement


set theURL to "http://www.mywebsite.com"
tell application "Safari"
   activate
   make new document with properties {URL:theURL}
   do JavaScript "document.getElementsByName('fvState')[0].selectedIndex=17" in document 1
end tell

or


set theURL to "http://www.mywebsite.com"
tell application "Safari"
   activate
   tell document 1
      make new document with properties {URL:theURL}
      do JavaScript "document.getElementsByName('fvState')[0].selectedIndex=17"
   end tell
end tell

Your first option worked. Thanks Craig.