1

JavaScript を使用して Cocoa アプリの webview 内のボタンにクリック イベントを送信できますか?

ユーティリティ (Yosemite) でスクリプト エディターを使用して記録しようとしていますが、残念ながら Web ビュー内のイベントを記録できません。

https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/index.htmlの testapp (webview を使用したココア アプリ) を使用して、Apple ドキュメントで提供されている UI 自動化セクションのサンプル コードを使用してみました。 .

TestApp = Application('TestApp')    
TestApp.activate()

delay(1)

SystemEvents = Application('System Events')

TestApp = SystemEvents.processes['TestApp']

TestApp.document.getElementById('testid').click();      // stuck at this last line not sure if I can    
//even call the document object in this way. Getting error undefined variable document.
4

1 に答える 1

0

ブラウザ/DOM Javascript を使用してネイティブ アプリの UI 要素にアクセスしようとしています。この環境はブラウザーと同じように Javascript を使用しますが、基礎となるオブジェクト モデルは、Web ページで見慣れた DOM ではありません。そのため、document未定義であることがわかります。

ドキュメントの「UI オートメーション」セクションにある小さなスニペットに示されているように、ウィンドウ オブジェクトとボタン オブジェクトにアクセスする必要があります。もちろん、使用する正確なパスは TestApp によって異なりますが、次のようになります。

TestApp.windows[0].buttons[0].click()

( などを使用してコントロール ID でこれらの配列をスクロブルすることもおそらく可能ですがwhose、その経験はありません。)

于 2014-11-22T01:50:02.360 に答える