Как принять оповещение о файлах cookie с помощью Selenium в Python

#python #selenium #selenium-webdriver #web-scraping #webdriver

#python #selenium #selenium-webdriver #очистка веб-страниц #webdriver

Вопрос:

Я пытаюсь добраться до google.com и введите что-нибудь в строке поиска. Но всплывающее окно с предупреждением о файлах cookie всегда мешает мне. Итак, я должен нажать кнопку «Я согласен». Я знаю, что мне нужно немного подождать, прежде чем искать элемент, но даже если я подожду с WebDriverWait() функцией, или .implicitly_wait() он просто не хочет находить элемент (я использовал поиск по xpath и .click() нажал кнопку). Потратил часы, пытаясь найти решение…

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

def main():
    driver = webdriver.Chrome('chromedriver.exe')
    url = 'https://www.google.com/'
    driver.get(url)
 
    # The following line is supposed to wait for the button to appear and then click:
    agreeButton = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//*[@id='introAgreeButton']")))
    agreeButton.click()

main()
  

Также я должен включить здесь ошибку:

 Traceback (most recent call last):

File "{SCRIPT PATH}", line 49, in <module>
    
     main()

File "{SCRIPT PATH}", line 46, in main

   agreeButton = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//*[@id='introAgreeButton']")))

File "C:ProgramDataAnaconda3libsite-packagesseleniumwebdriversupportwait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)

selenium.common.exceptions.TimeoutException: Message: 
  

Комментарии:

1. Либо вы недостаточно долго ждете, либо xpath неверен. Пожалуйста, предоставьте HTML для дальнейшей диагностики.

2. По этой ссылке нет html.

3. @dmart извините… была поздняя ночь, и я допустил ошибку. Вот ссылка: docs.google.com/document/d /…

4. также здесь находится элемент проверки html от Google, который содержит элемент, который я ищу: docs.google.com/document/d /…

5. честно говоря, я не в восторге от открытых случайных документов Google. Было бы полезно предоставить ссылку на сайт или опубликовать соответствующий HTML-код в своем сообщении.