Selenium автоматизирует нажатие всплывающего окна «Мы ценим вашу конфиденциальность»

#python #selenium #popup

#python #selenium #всплывающее окно

Вопрос:

Я использую Selenium с Python на веб-странице с JavaScript. Скрипт выполняется до тех пор, пока во всплывающем окне не появится запрос на щелчок либо для согласия, либо для поиска дополнительных опций. HTML-код всплывающего окна исчезает, если щелкнуть по какой-либо опции вручную. Был бы признателен за некоторые рекомендации о том, как автоматически нажать кнопку «Согласиться».

     from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC

    driver = webdriver.Chrome(executable_path='C:/A38/chromedriver_win32/chromedriver.exe')

    driver.implicitly_wait(30)
    driver.maximize_window()
    # Navigate to the application home page
    driver.get("https://www.sportinglife.com/racing/results/2020-11-23")
 

Ответ №1:

Нажать на кнопку с текстом СОГЛАСЕН. Сначала induct ожидает загрузки страницы, а затем ожидает, пока элемент станет кликабельным.

 driver.get('https://www.sportinglife.com/racing/results/2020-11-23')
wait=WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[text()='AGREE']"))).click()
 

Импорт

 from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
 

Ответ №2:

Это поможет:

  driver.find_element_by_xpath('//*[@id="qc-cmp2-ui"]/div[2]/div/button[2]').click()