I have a macro with a window that opens with maximum vertical height, but conceals a button below the bottom edge of the window. In order to access the button, I use two down arrow simulated keystrokes. Sometimes both of them work, sometimes only one does. I have inserted ample pauses between them, which makes them relatively slow. Is there a preferred way to scroll a window that is faster and more reliable?
I don't have enough information to help. You haven't provided enough information. You haven't shown the macro or the application and/or website.
How about using Page Down instead of the arrow keys?
-rob.
Or use an action that presses a button for you -- "Press a Button" could be a candidate, depending on the app involved.
OK. Here’s the macro. The magenta colored action is the subject of the discussion. Safari is the app involved. Here’s a screenshot of the webpage I want scroll.
Citi Password Login KM.kmmacros (218.6 KB)
2025-11-05_10-28-34.tiff (163.3 KB)
Make that web page active in Safari. Switch to KM. Add a "Press a Button" action to your macro, then use the action's "Button" pop-up to scan the front window in Safari.
If KM can detect the button -- it'll depend on how the web page was coded -- it can simulate pressing it, even if it is off-screen. So this action would open a thread reply on this Forum:
You provided a lot more information, but the screenshot was not the correct screenshot.
In any case I already agree with Nige's advice as the best (quickest and most reliable) way forward. But griffman's advice was also pretty good. Have you tried those ideas?
Thanks. Press Button seems to work OK and saves extra steps. My luck with it in the past has been spotty. Good to know it can sometimes find a button off-page. BTW what is the difference with Press Button When Enabled?
I think it can always find the button off-page if it can find the button in the first place -- that's problem, and that's very much down to how web pages are coded.
The Wiki is your friend, and an action's "Help" will take you to the right page -- in this case, "Press a Button".
As of v10.2 there is an option (in the action (gear)
menu) to have this action wait until the button exists and is enabled and then press it.
So if you are marching a print job, for example, you could use
...and the second action would automatically wait until the "Print" dialog had appeared -- without "exists and is enabled" you'd have to either build in your own pause or accept that the "Press" action will often fail because the dialog has populated before the action executes.

