Я играю с вкладками и окнами 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
вкладке, которая была открыта при нажатии на ссылку во всплывающем окне (я проверял это).
Такое поведение было неожиданным для меня.
Теперь главный вопрос: как перейти на вкладку, которая была открыта, щелкнув ссылку во всплывающем окне, не закрывая всплывающее окно?