Всем добрый день. Есть скрипт на Python, который парсит эту страницу:
https://www.flashscore.ru/
Кликает на каждый матч и выводит ссылку и дату каждого матча.
Так как при клике на матч открывается новый браузер, в коде написано каждый раз возвращаться на предыдущее окно.
Код:
import time
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from bs4 import BeautifulSoup
driver = webdriver.Chrome(executable_path="C:\\Users\\iljal\\PycharmProjects\\parsingg\\chromedriver") # здесь указать путь к chromedriver он обычно в той же папке где и Ваш проект
driver.get('https://www.flashscore.ru/')
time.sleep(3) # C:\Users\iljal\PycharmProjects\parsingg\chromedriver
arr = driver.find_elements_by_css_selector(
".event__match.event__match--scheduled.event__match--oneLine"
)
# optional (if you are not satisfied with the download speed)
driver.set_page_load_timeout(0.5)
for channel in arr:
try:
channel.click()
except TimeoutException:
print("data not received. need more time in driver.set_page_load_timeout")
continue
driver.switch_to.window(driver.window_handles[arr.index(channel)+1])
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
almost_time = soup.find('div', class_='description__time mstat-date').get_text(strip=True)
res_time = almost_time.split()
time = res_time[-1]
link = driver.current_url
print(link)
print(time)
driver.switch_to.window(driver.window_handles[0])
Но почему-то после 17 матча (ЛАСК/ШТУРМ) PyCharm выводит ошибку, что это место не кликабельно:
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div id="g_1_GzZFvoYt" title="Подробности матча!" class="event__match event__match--scheduled event__match--last event__match--oneLine">...</div> is not clickable at point (531, 814). Other element would receive the click: <p id="onetrust-policy-text">...</p>
(Session info: chrome=83.0.4103.97)
Подскажите, что не так? Следующий матч кликабелен, почему он ругается? Заранее спасибо.