I have the following JXA code that selects a value from a drop-down menu
export const selectFromPopUpList = (uiElements, value) => {
for (const key in uiElements) {
if (uiElements[key].class() === 'popUpButton') {
uiElements[key].focused = true;
uiElements[key].click();
delay(0.2);
SystemEvents.keystroke(value);
delay(0.3);
SystemEvents.keyCode(36);
delay(0.4);
uiElements[key].focused = false;
}
}
};
However, it doesn't seem to be reliable, the focus is sometimes lost, and the menu is never filtered when Enter is pressed. Is there a more reliable approach to selecting the value?
I've seen this bit of code somewhere, and it would be perfect for my use case
uiElements[key].menus[0].menuItems.byName(value).click();
But menus[0] doesn't seem to be defined in my case, maybe I'm using an older version of JXA / osascript? How can I check this?