Python. Selen. Wie warte ich, bis sich ein neues Fenster öffnet?

Ich habe eine Schaltfläche mit Twitter und nach dem Klicken öffnet sich ein neues Fenster. Vor dem Öffnen wird jedoch in wenigen Sekunden eine Zeitüberschreitung angezeigt. Gibt es also eine Möglichkeit, darauf zu warten? Ich gehe im Moment auf eine schlechte Art und Weise ...

    Ui.click_el(link.W9FormNodes.TWITTER_BUTTON)
    # Wait for new window and switch to it
    time.sleep(3)
    aw = driver.window_handles
    driver.switch_to_window(aw[1])

So brauche ich etwas Besseres, das nur so viele Sekunden wartet, wie nötig.

Ich denke, ich löse es auf diese Weise. Aber vielleicht hat jemand Kommentare, wie man es besser macht.

    aw = Ui.click_and_wait_for_window(link.W9FormNodes.TWITTER_BUTTON)
    driver.switch_to_window(aw[1])

Und hier ist eine Methode, die auf die Schaltfläche klickt und auf ein neues Fenster wartet:

    def click_and_wait_for_window(self, node):
        current_value = old_value = self.driver.window_handles
        self.click_el(node)
        while len(current_value) == len(old_value):
            time.sleep(0.05)
            current_value = self.driver.window_handles
        return current_value