I have an automation that utilizes a web app. Certain sections of the web app are ‘locked’ from a human user by a loading/busy html element while the web app is doing async/ajax loads. My automation can still access(simulate) the ui controls while the async/ajax calls are loading. This causes the web-app to load infinitely and the entire automation fails.
I am looking for a way to wait for the html load element to disappear before attempting any UI interaction. These loading elements are created when the webapp loads but are only made visible during async/ajax calls. So simply waiting for ready does nothing and it continues on. Also checking for element exists or element vanish does not work either because it always does. I tried image vanish but because the loading gif is dynamic motion as soon as the image doesn’t match it fires the rest of the workflow.
Any suggestions would be greatly appreciated. I really would like to avoid setting several second delays after any action and would prefer it be dynamic to the UI.