4/11/23
4/8/23
4/7/23
Click a menu item
Application("TextEdit").activate();
var app = Application("System Events").processes["TextEdit"];
app.menuBars[0].menus.byName("File").menuItems[ "New" ].click();
Click a menu item in a submenu
Application("TextEdit").activate();
var app = Application("System Events").processes["TextEdit"];
app.menuBars[0].menus.byName("Edit").menuItems[ "Insert" ].menus[ "Insert" ].menuItems[ "Line Break" ].click();
Press a key
Application("System Events").keystroke('a')
Press a key with a modifier
Application("System Events").keystroke('a', { using: ['command down'] })
Press the left arrow key:
Application("System Events").keyCode(123)
// 124=right, 125=down, 126=up, 36=Return
Click General in System Settings
Application("System Settings").activate()
var app = Application("System Events").processes["System Settings"];
app.windows[0].groups[0].splitterGroups[0].groups[0].scrollAreas[0].outlines[0].rows[12].select()
// Note: General may not be the 12th item for you,
// you'll need to experiment
Print and then Click PDF in TextEdit:
Application("TextEdit").activate()
Application("System Events").keystroke('p', { using: ['command down'] })
Application("System Events").processes["TextEdit"].windows[0].sheets[0].splitterGroups[0].groups[1].buttons[0].click()
// Note: The PDF button may not be at this location
// depending on many factors
Script Editor JavaScript to help find user interface elements:
// Note this is JavaScript so make sure your
// Script Editor window is set to JavaScript
// NOT AppleScript
listObjects(Application("System Events").processes["System Settings"].windows(), "" )
function listObjects(uiObjects, indentStr) {
for (var i in uiObjects) {
if(uiObjects[i] instanceof Array) {
listObjects(uiObjects[i], indentStr + ' ')
} else if(uiObjects[i] instanceof Object){
console.log('' + indentStr + i + ' Name:' + uiObjects[i].name() + ', Class:' + uiObjects[i].class() + ', Desc:' + uiObjects[i].description() + ', Value:' + uiObjects[i].value());
listObjects(uiObjects[i].uiElements(), indentStr + ' ')
}
}
}
4/4/23
4/1/23
3/27/23
3/24/23
















