2011-07-03 11 views
6

私はSafariのロケーションバーに入力した同じjavascriptのコードが動作するときに私のAppleScriptは何もしない理由を把握しようとしています。 http://www.google.com/search?q=testはなぜAppleScriptではコール実行のJavaScriptん 'がないのですか?

は、次のような、検索結果ページに移動します。正しい動作のために、ロケーションバーにこれを入力してエンターキーを押します:

javascript: document.getElementsByClassName('vspib')[0].click(); 

あなたはそれが最初の検索結果のための拡大鏡を選択していることがわかります。

これは、私はjavascriptを経由して起こるようにしたいものです。そこで、次のように入力しました。

tell application "Safari" 
    activate 
    do JavaScript "document.getElementsByClassName('vspib')[0].click();" in document 1 
end tell 

ただし、何もしません。何か案は?

答えて

14

問題はdo JavaScriptが正しくSafariのウィンドウにタブに対処しなければならないことです。検索結果ページは、最前面のSafariのウィンドウ内の現在のタブであれば

次のスクリプトは、私の作品:そんなに

tell application "Safari" 
    activate 
    set theScript to "document.getElementsByClassName('vspib')[0].click();" 
    do JavaScript theScript in current tab of first window 
end tell 
+3

感謝を。何らかの理由であなたのコードが毎回私のために働いていなかったのですが、この変更はこのトリックを行うことに終わりました。フロントウィンドウのアクティブなタブのjavascript "document.getElementsByClassName( 'vspib')[0] .click(); – mix

+0

は、それが私のために働くん@mix! – FrontENG

関連する問題