FYI: KM Can Sometimes Press Buttons It Can't See

The newest version of BusyCal (Version 2021.3.0 (202130004), released late afternoon of Friday 9 July; not the version released a day or two earlier) offers the ability to directly toggle calendar visibility with KM, using a command like

Press Button: "Calendar Checkbox: CALENDAR_NAME"

So long as the calendar is visible in the BusyCal window sidebar, this button press works to toggle its visibility. But despite that, KM says it doesn't see the button: a test like

If a button
with this name: Calendar Checkbox: CALENDAR_NAME
exists

returns false. So do "name matching" and "name containing" tests.

This surprised me a lot, despite the wiki page for "Button" saying that "you can generally only detect standard Mac buttons, not custom buttons, nor buttons in web windows." It had not occurred to me that KM would be able to press a button it can't see. So I thought I'd call it out; if a BusyCal developer hadn't told me it was possible, I'd still be brute-force Applescripting it as

tell application "System Events" to click checkbox "Calendar Checkbox: home" of UI element 1 of row 5 of outline 1 of scroll area 1 of splitter group 1 of splitter group 1 of front window of application process "BusyCal"

Now I know, and you do too -- but I guess you still have to just test blindly to find out whether KM can press a button that's invisible to it.

3 Likes