Python. Селен. Как ждать открытия нового окна?
У меня есть кнопка с твиттером, и после щелчка открывается новое окно, но перед открытием есть тайм-аут через несколько секунд, так есть ли способ его ждать? Я плохо держусь пока ...
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])
Поэтому мне нужно что-то лучше, это будет ждать только то количество секунд, которое нужно.
Я думаю, что я решаю это таким образом. Но, возможно, у кого-то будут комментарии, как это сделать лучше.
aw = Ui.click_and_wait_for_window(link.W9FormNodes.TWITTER_BUTTON)
driver.switch_to_window(aw[1])
И вот метод, который нажимает на кнопку и ждет нового окна:
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