I'm trying to figure out why my Applescript does nothing when the same javascript code typed into a Safari location bar works.
Go to a search results page, such as: http://www.google.com/search?q=test . For the correct behavior, type this into the location bar and hit enter:
javascript: document.getElementsByClassName('vspib')[0].click();
You'll see that it selects the magnifier for the first search result.
This is what I want to make happen 开发者_运维百科via javascript. So I typed up the following:
tell application "Safari"
activate
do JavaScript "document.getElementsByClassName('vspib')[0].click();" in document 1
end tell
However, it does nothing. Any ideas?
The problem is that do JavaScript
has to correctly address a tab in a Safari window.
The following script works for me, if the search results page is the current tab in the frontmost Safari window:
tell application "Safari"
activate
set theScript to "document.getElementsByClassName('vspib')[0].click();"
do JavaScript theScript in current tab of first window
end tell
精彩评论