Element Exists of element A followed by Get Text of element A is the same thing as just using Get Text of element A by itself. This is because both methods wait until element A is there to get the text.
So you need to be a little more strategic.
I would recommend considering these ideas:
Idea 1: Element Exists of element A using the Output property and a slight timeout. Check if the boolean is True, then Get Text of element A using a timeout of 0. If boolean is False then, Element Exists of element B using the Output property and timeout of 0 (since page is already loaded at this point). Check if this boolean is true, then perform tasks due to element B. If boolean is False then, extraction could not occur so log accordingly (or Throw exception if needed to retry).
Disadvantage: Slight delay when element A is not there and instead element B is there, because first Element Exists is waiting for element A.
Idea 2: Same as Idea 1, except start with another Element Exists to look for another element that identifies the page is loaded and ready to be interacted with. This would eliminate the slight delay, but to be honest the delay would not be much anyway (depends on how the application loads though)
Disadvantage: The page could load at different rate as elements or there is nothing to identify that it is ready to be interacted with.
Hope this helps.
So use Element Exists as a strategic way to navigate and make decisions throughout the application.