I'll fix the loop, that's not a problem.
I'm not sure what you meant by mimicing the behavior of _wait_for_visible_element though... because _wait_for_visible_element calls the function I'm trying to fix here so...
I could experiment with the WebDriverWait, but this works as it is.