Selenium: как вернуться на предыдущую страницу после принятия всплывающего окна? - PullRequest
1 голос
/ 04 мая 2020

Я использую селен (python) для тестовой страницы. Процесс тестирования:

  1. Изначально у меня есть страница A, и появляется вторая страница B, нажав ссылку на странице A.

  2. Когда я отправил форму на странице B, появилось всплывающее окно с предупреждением (только кнопка ОК).

  3. Когда всплывающее окно принято, страница B автоматически закрывается. В настоящее время в браузере есть только страница A, и я ее вижу.

Вопрос в том, как после закрытия страницы B получить контроль над страницей A?

Мой код выглядит примерно следующим образом:

A_handle = dr.current_window_handle # Начальная операция на странице A

... После принятия всплывающего окна на странице B ...

dr.switch_to_window (A_handle) # Эта строка выдает ошибку --- такого окна нет: целевое окно уже закрыто

Я очень смущен, у кого-нибудь есть решение

1 Ответ

1 голос
/ 04 мая 2020

Пока одну страницу A (то есть перед открытием страницы B) выполните:

main_window = dr.current_window_handle

Чтобы переключить управление драйвером на страницу B, выполните:

dr.switch_to.window(dr.window_handles[1])

После закрытия страницы B выполните:

dr.switch_to.window(main_window)

Теперь вы должны вернуться на страницу А.

...