'Wait until the value returned by predicate is not False.
It also returns when the timeout is elapsed.
\'predicate\' takes the driver as argument.'

def _wait_until(self, predicate, timeout=None, poll_frequency=0.5):

    if (not timeout):
        timeout = self.explicit_wait
    return wait.WebDriverWait(self.driver, timeout, poll_frequency).until(predicate)
