Select value from dropdown menu in JXA

15 Views Asked by At

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?

0

There are 0 best solutions below