Я пытаюсь принять файлы cookie на веб-сайте, но всплывающее окно не загружается должным образом.
Кто-нибудь знает, как это решить?
URL веб -сайта: https://www.guest.wemolo.at/?access_tok ... i6ijq4nwiy Zweylty2mtitndu3zs05yta4ltrhodbjmtgxnzm4mij9.dyadgedj87u-i_lbytn3y-_kiujnrkvjkjgvoq0mlfe
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.maximize_window()
url = 'https://www.guest.wemolo.at/?access_tok ... JgVOQ0MlfE'
driver.get(url)
wait = WebDriverWait(driver, 10)
shadow_host = wait.until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Alles Akzeptieren')]")))
shadow_root = shadow_host.shadow_root
load = shadow_root.find_element(By.XPATH, "//button[contains(text(), 'Alles Akzeptieren')]")
load.click()
< /code>
Я попытался распечатать всю веб-страницу, но всплывающее окно «Согласие cookie» не отображается в выводе печати. < /p>
После проверки страницы Я обнаружил, что всплывающее окно находится внутри корня тени. Однако я не могу получить к нему доступ. < /P>
Фиксированное решение: < /p>
Fixed solution:
`driver = Chrome()
driver.get(URL)
wait = WebDriverWait(driver, 10)
root_element = wait.until(EC.presence_of_element_located((By.ID, "usercentrics-root")))
shadow_root = driver.execute_script("return arguments[0].shadowRoot", root_element)
button = WebDriverWait(shadow_root, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "button[data-testid=uc-accept-all-button]"))
)
driver.execute_script("arguments[0].scrollIntoView();", button)
button.click()
Подробнее здесь: https://stackoverflow.com/questions/794 ... hadow-root
Selenium: невозможно нажать кнопку внутри root Shadow ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение