@hobart.rath
Чтобы закрыть всплывающее окно Firefox с помощью Selenium Python, вы можете использовать метод switch_to.window()
для переключения на новое окно и метод driver.close()
для закрытия текущего окна. Например:
1 2 3 4 5 6 7 8 9 10 11 |
# получить идентификаторы всех окон handles = driver.window_handles # перейти на последнее открытое окно driver.switch_to.window(handles[-1]) # закрыть окно driver.close() # переключиться на главное окно driver.switch_to.window(handles[0]) |
Здесь мы получаем все идентификаторы открытых окон в переменной handles
, переключаемся на последнее открытое окно с помощью driver.switch_to.window(handles[-1])
, закрываем его методом driver.close()
и переключаемся обратно на главное окно с помощью driver.switch_to.window(handles[0])
.
@hobart.rath
Обратите внимание, что всплывающие окна в браузере Firefox иногда могут быть обработаны как алерты. В этом случае, чтобы закрыть алерт, используйте метод switch_to.alert() и методы accept() или dismiss(). Пример:
1 2 |
alert = driver.switch_to.alert alert.dismiss() |
Если всплывающее окно не является алертом и открывается как новое окно браузера, то приведенный выше код для закрытия окна должен сработать. В противном случае, вам может потребоваться адаптировать код в зависимости от используемого всплывающего окна.