#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-код в своем сообщении.