Как перейти на вновь открытую вкладку, нажав ссылку во всплывающем окне с помощью Selenium - PullRequest
0 голосов
/ 30 августа 2018

Я играю с вкладками и окнами Firefox в Selenium.

Мой код открывает страницу в окне Firefox. Затем он щелкает ссылку, из-за которой появляется всплывающее окно. После этого это:

for wh in driver.window_handles:
    print(wh)

... дает такой вывод:

2147483649
2147483704

..., где 2147483649 соответствует открытому на начальной странице и 2147483704 всплывающему окну.

Затем код щелкает ссылку в этом всплывающем окне, в результате чего открывается новая вкладка в окне с открытой на начальной странице. Тогда это:

for wh in driver.window_handles:
    print(wh)

... дает такой вывод:

2147483649
2147483704

... снова, хотя была открыта новая вкладка. Обратите внимание, что недавно открытой вкладки там нет.

Затем код закрывает окно:

driver.close()

Тогда это:

for wh in driver.window_handles:
    print(wh)

... дает такой вывод:

2147483649
2147483707

..., где 2147483649 соответствует открытой на начальной странице, а 2147483707 вкладке, которая была открыта при нажатии на ссылку во всплывающем окне (я проверял это).

Такое поведение было неожиданным для меня.

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

...