Клик на кнопку принятия условий на сайте в selenium

При открытии сайта нужно сначала кликнуть на кнопку ПРИНИМАТЬ ВСЕ, чтоб уже можно было спарсить все нужное с сайта, но чтоб я не делал - никак не получается кликнуть на эту кнопку. Ни с помощью By.CSS_SELECTOR, ни с помощью By.XPATH.

driver = webdriver.Chrome(options=options)
driver.get("https://www.transfermarkt.world")
time.sleep(3)
driver.find_element(By.XPATH, "//*[@id='notice']/div[3]/div[2]/button").click()
time.sleep(3)

Ответы (1 шт):

Автор решения: Сергей Кох

Так как кнопка находиться внутри iframe, то сначала надо перевести фокус на него, а затем уже кликать по кнопке.

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

url = r"https://www.transfermarkt.world"

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(url)
frame = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.ID, "sp_message_iframe_732630")))
driver.switch_to.frame(frame)
driver.find_element(By.XPATH, "//*[@id='notice']/div[3]/div[2]/button").click()
time.sleep(5)
driver.quit()
→ Ссылка