Как закрыть всплывающее окно firefox с помощью selenium python?

Пользователь

от hobart.rath , в категории: Другие , 2 года назад

Как закрыть всплывающее окно firefox с помощью selenium python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerrold_langworth , 2 года назад

@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]).

Пользователь

от akeem , 6 месяцев назад

@hobart.rath 

Обратите внимание, что всплывающие окна в браузере Firefox иногда могут быть обработаны как алерты. В этом случае, чтобы закрыть алерт, используйте метод switch_to.alert() и методы accept() или dismiss(). Пример:

1
2
alert = driver.switch_to.alert
alert.dismiss()


Если всплывающее окно не является алертом и открывается как новое окно браузера, то приведенный выше код для закрытия окна должен сработать. В противном случае, вам может потребоваться адаптировать код в зависимости от используемого всплывающего окна.