У меня есть html, который выглядит следующим образом:
<div class="v-window-outerheader"><div class="v-window-maximizebox" tabindex="0" role="button" aria-label="maximize button" id="38_window_maximizerestore"></div>
<div class="v-window-closebox" tabindex="0" role="button" aria-label="close button" id="38_window_close"></div>
Этот код предназначен для окна сообщения, которое появляется при входе на веб-сайт.
Я использовал следующий код, чтобы щелкнуть X
в правом верхнем углу, чтобы закрыть всплывающее сообщение:
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait, Select
from selenium.webdriver.common.keys import Keys
path_to_chromedriver = r'C:\chromedriver' # change path as needed
browser = webdriver.Chrome(executable_path=path_to_chromedriver)
wait = WebDriverWait(browser, 10)
browser.get("https://ftrcenter.pjm.com/ftrcenter/pages/secure/")
wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="37_window_close"]'))).click()
Но номер ID 37_window_close
меняется время от времени. Сегодня идентификатор 38_window_close
Остальная часть кода html остается прежней. Как мне изменить свой код, чтобы мой код не сломался из-за этого изменения идентификатора?
Всплывающее окно выглядит следующим образом, где X
находится вверху справа, чтобы закрыть его: ![enter image description here](https://i.stack.imgur.com/iGOSr.png)