Как закрыть всплывающие окна с помощью Selenium в Python, если я не знаю, когда они появятся?Python

Программы на Python
Anonymous
Как закрыть всплывающие окна с помощью Selenium в Python, если я не знаю, когда они появятся?

Сообщение Anonymous »

Я пытаюсь получить исторические данные о погоде с этого веб-сайта:
https://www.worldweatheronline.com/taoy ... an/tw.aspx
Используя этот код:

Код: Выделить всё

    driver.find_element_by_css_selector("input[type='date']").send_keys(str(for_weather.mm[i])+str(for_weather.dd[i])+for_weather.year[i].astype(str))

wait=WebDriverWait(driver,10)
wait.until(EC.element_to_be_clickable((By.ID,'ctl00_MainContentHolder_butShowPastWeather'))).click()
temp=driver.find_element_by_xpath('//div[@class="days-collapse-temp"]').get_attribute('innerHTML')
На одной из страниц появляется всплывающее окно.
Изображение

Я видел справку, показывающую, как выбирать и закрывать всплывающие окна, но в моем случае мы не знаем, когда они появятся. На некоторых страницах оно есть, на некоторых нет. Когда они появляются, они мешают мне получить нужные данные и останавливают цикл. Ниже приводится сообщение об ошибке (оно имеет характеристики всплывающего окна):

Код: Выделить всё

ElementClickInterceptedException: element click intercepted: Element  is not clickable at point (956, 559). Other element would receive the click:
(Session info: chrome=97.0.4692.71)
Большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/706 ... w-when-the

Вернуться в «Python»