我们可以使用JavaScript将点击事件发送到Cocoa应用中的webview内的按钮吗?
我正在尝试使用实用程序(Yosemite)下的脚本编辑器进行记录,但遗憾的是无法在webview中记录任何事件。
我尝试使用Apple文档中提供的UI自动化部分下的示例代码和https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/index.html上的testapp(带有webview的可可应用程序)。
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.
答案 0 :(得分:0)
您正在尝试使用浏览器/ DOM Javascript来访问本机应用UI元素。虽然这个环境像浏览器一样使用Javascript,但底层对象模型不是您习惯在网页上看到的DOM。这就是为什么你看到document
未定义的原因。
正如文档“UI Automation”部分中的小片段所暗示的那样,您需要访问窗口和按钮对象。当然,您使用的确切路径取决于您的TestApp,但它可能类似于:
TestApp.windows[0].buttons[0].click()
(也可能使用whose
等控件ID来扫描这些数组,但是没有经验。)