I used a While with a Try Catch with “On Element Appear”, the loop runs indefinitely. Is like the element is never visible. I have tried using Timeout of 3 secs, also RepeatForever as False and it never stops scrolling, also tried WaitVisible and WaitActive.
in general we do assume that the table / TH already exists even when it is more down and requires a scrolling. So the hover activity should work (maybe test it with option simulate hover).
(refered to your screenshot the selector was validating)
a hover could fail e.g. when the application is not already fully loaded
the bot requires some sync on the page (more then WaitForReady and more reliable)
for finding out what is needed, what to adress:
implement a proper working / validated hover activity
run in debug mode, stop with a breakpoint before the hover and wait till loading is fully done
continue the flow and check if hover is working
if it is still failing:
repeat and check hover with simulate hover
check element existence before hover and maybe react on this as an alternate
could mean as you see the hover that no scrolling is needed. Maybe you want to get scrolled a diffeent part.
However down key, pgdown would be the alternate as you already had done. So let us fine out the more details on what is to scroll , till where and which strategie we could find to detect the successfully scrolled down result.